如果有人能告訴我不同的方式來做到這一點,我將不勝感激。如何將類變量重置爲0或默認值?我使用類變量,因爲我不知道另一種方式來做到這一點。在我的遊戲結束後,我將結果放在類變量中,因爲我有兩輪遊戲,第一輪結束後添加結果,並且類變量對於此原因很有好處,即使重新啓動我的遊戲方法後,它仍然保留了我以前的結果。第二輪結束後,我將結果添加到以前的結果,然後關閉活動並將文本結果設置爲文本到按鈕。但是當我點擊新遊戲時,那個按鈕仍然保存着那個文本,導致類變量仍然保留着它。當我參加新遊戲時如何重置該類變量?如何將類變量重置爲默認值0?
這裏是我的遊戲代碼,它的一些(100點開始量,並在遊戲進度變得更低):
public class Asocijacije extends Activity implements OnClickListener{
int brojPoenaAsocijacije = 100;
public static int brojPoenaUkupno;
然後我跳到這裏有很多代碼,並在這裏就是我加分。 brojPoenaAsocijacije在這一輪得到的分數:
brojPoenaUkupno = brojPoenaUkupno + brojPoenaAsocijacije;
這是我的主要活動,我設置點從我的類變量爲一個按鈕(在這裏我添加的註釋):
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;
}
}
}
你的變量名是不是真的幫助... – 2013-04-05 20:02:30
你開始一個新遊戲的時候,晉級下一輪時,由於使用相同的按鈕?如果是這種情況,則應使用計數器,並在計數器達到特定值時重置計數器和結果。 – 2013-04-05 20:13:07
不,不一樣。我使用Handler重新加載我的遊戲活動。 – marjanbaz 2013-04-05 20:22:04