누구든지 내게 다른 방법을 말해 줄 수 있다면, 고맙겠습니다. 클래스 변수를 0 또는 기본값으로 재설정하는 방법 클래스 변수를 사용하기 때문에 다른 방법으로이 작업을 수행 할 수 없습니다. 내 게임이 끝나면 결과를 클래스 변수에 넣습니다. 게임 라운드를 두 번 반복하고 결과를 추가하고 클래스 변수가 게임 메서드를 다시 시작한 후에도 여전히 좋은 결과를 얻습니다. 결과. 두 번째 라운드가 끝나면 그 결과를 이전 결과에 추가 한 다음 활동을 닫고 단추에 텍스트 텍스트 결과를 설정합니다. 그러나 새 게임을 클릭하면 해당 버튼이 해당 텍스트를 계속 보유하기 때문에 클래스 변수가 여전히 보유하고 있습니다. 새 게임을 시작할 때 클래스 변수를 재설정하는 방법은 무엇입니까?클래스 변수를 기본값 0으로 재설정하는 방법은 무엇입니까?
다음은 그 중 일부 (100 점은 양의 시작이며, 그것은 게임 진행에 낮아짐), 내 게임 코드입니다 :
public class Asocijacije extends Activity implements OnClickListener{
int brojPoenaAsocijacije = 100;
public static int brojPoenaUkupno;
그럼 내가 여기에 코드를 많이 생략하고 여기에 내가 포인트를 추가 곳입니다.
public class Izbor extends Activity implements OnClickListener{
Asocijacije poeni = new Asocijacije();
Button toploHladno, asocijacije, cigle, spojnice, nazad, poeniTH, poeniAso, poeniCigle, poeniSpojnice;
TextView naslov;
public boolean music;
MediaPlayer buttonClicks, buttonBack;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE); //full screen
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.izbor);
SharedPreferences getPrefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
music = getPrefs.getBoolean("checkbox", true);
addListenerOnButton();
}
private void addListenerOnButton() {
buttonClicks = MediaPlayer.create(this, R.raw.click);
buttonBack = MediaPlayer.create(this, R.raw.button31);
Typeface naslovType = Typeface.createFromAsset(getAssets(), "Lobster.ttf");
Typeface dugmad = Typeface.createFromAsset(getAssets(), "Bebas.ttf");
naslov = (TextView) findViewById(R.id.tvIzborNaslov);
toploHladno = (Button) findViewById(R.id.bIzbor1);
asocijacije = (Button) findViewById(R.id.bIzbor2);
cigle = (Button) findViewById(R.id.bIzbor3);
spojnice = (Button) findViewById(R.id.bIzbor4);
nazad = (Button) findViewById(R.id.bIzborNazad);
poeniTH = (Button) findViewById(R.id.bPoeniTH);
poeniAso = (Button) findViewById(R.id.bPoeniAso);
poeniCigle = (Button) findViewById(R.id.bPoeniCigle);
poeniSpojnice = (Button) findViewById(R.id.bPoeniSpojnice);
naslov.setTypeface(naslovType);
toploHladno.setTypeface(dugmad);
asocijacije.setTypeface(dugmad);
cigle.setTypeface(dugmad);
spojnice.setTypeface(dugmad);
nazad.setTypeface(dugmad);
poeniAso.setTypeface(dugmad);
toploHladno.setOnClickListener(this);
asocijacije.setOnClickListener(this);
cigle.setOnClickListener(this);
spojnice.setOnClickListener(this);
nazad.setOnClickListener(this);
}
@Override
protected void onStart() {
super.onStart();
poeniAso.setText("" + poeni.brojPoenaUkupno); //I do it here
}
public void onClick(View v) {
switch(v.getId()){
case R.id.bIzbor1:
if(music == true){
buttonClicks.start();
}
startActivity(new Intent("rs.androidaplikacije.toplo_hladno.GAME"));
break;
case R.id.bIzbor2:
if(music == true){
buttonClicks.start();
}
startActivity(new Intent("rs.androidaplikacije.toplo_hladno.ASOCIJACIJE"));
break;
case R.id.bIzbor3:
if(music == true){
buttonClicks.start();
}
break;
case R.id.bIzbor4:
if(music == true){
buttonClicks.start();
}
break;
case R.id.bIzborNazad:
if(music == true){
buttonBack.start();
}
poeniAso.setText("");
finish();
break;
}
}
}
변수 이름이 실제로 도움이되지 않습니다 ... –
다음 라운드로 진행할 때와 같이 새 게임을 시작할 때 같은 버튼을 사용합니까? 이 경우 카운터를 사용하고 카운터가 특정 값에 도달하면 카운터와 결과를 다시 설정해야합니다. –
아니요, 동일하지 않습니다. Handler를 사용하여 게임 활동을 다시로드합니다. – marjanbaz