目前,我正在研究一個簡單的俄羅斯輪盤應用程序。Android Studio - - MainActivity中只有1個按鈕播放聲音
它有三個按鈕:
自旋 - 剛剛起着紡絲筒的聲音(這個工程目前)。
插入回合 - 將一顆子彈放入左輪手槍(尚未得到)並播放聲音(作品)。
玩法 - 根據機會以及左輪手槍中有多少子彈,使用布爾型失火或發射一輪(如果發射一發圓,從子彈中取出子彈)。目前我使用的是1到6之間的隨機數字,0是您在啓動應用程序時的默認輪次(因此它包括在左輪手槍中沒有輪次的機制)。
這裏是我的活動是什麼樣子:
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.media.MediaPlayer;
import java.util.Random;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Buttons of Main-activity displayed
Button one = (Button) findViewById(R.id.spinner);
one.setOnClickListener(this);
Button two = (Button) findViewById(R.id.insert_Round);
two.setOnClickListener(this);
Button three = (Button) findViewById(R.id.fire_weapon);
three.setOnClickListener(this);
int rounds_left = 0;
}
//Let's make addition.
public static int add(int i) {
i++;
return i;
}
@Override
public void onClick (View v) {
int rounds_left = 0;
switch (v.getId()) {
case R.id.spinner:
//play spinner sound
final MediaPlayer mp1 = MediaPlayer.create(this, R.raw.spinnersound);
mp1.start();
break;
case R.id.insert_Round:
//play insert_round sound
final MediaPlayer mp2 = MediaPlayer.create(this, R.raw.insert_round_sound);
mp2.start();
//Adds one round into chamber (I need help here)
break;
case R.id.fire_weapon:
//Random number between 1 and 6... *Click* or *Fire*
Random rand = new Random();
int play_chances = rand.nextInt(7) + 1;
if (play_chances < rounds_left) {
final MediaPlayer mp4 = MediaPlayer.create(this, R.raw.fire_sound);
mp4.start();
//Take a bullet away (need help here too)
} else {
final MediaPlayer mp3 = MediaPlayer.create(this, R.raw.misfire_sound);
mp3.start();
}
break;
}
}
}
而且this是怎麼樣子至今。
我有兩個問題:
如何讓這個當我按下插入圓形按鈕,我可以添加1輪我
rounds_left
?我能夠創建一個添加方法(這就是所謂的?),使這種增加發生。我試圖多次應用它無濟於事。
public static int add(int i) { i++; return i; }
我如何採取輪從我
rounds_left
離開我已經履行了子彈後?
您想先將int rounds_left成爲一個成員變量(將它放置在類的頂部和方法之外)。否則,每次點擊該按鈕時它將被重置爲0,並且在onClick之外無用 – codeMagic
我已更改int rounds_left,以便它位於onClick之外。我把它一直放在課堂上。 – Soulvirtue