android studio 按钮 声音,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离开我已经履行了子弹后?

+0

您想先将int rounds_left成为一个成员变量(将它放置在类的顶部和方法之外)。否则,每次点击该按钮时它将被重置为0,并且在onClick之外无用 –

+0

我已更改int rounds_left,以便它位于onClick之外。我把它一直放在课堂上。 –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值