-1

Android ゲームのメイン メニューに 4 つのボタンがあります。私のオプションでは、オンとオフがあります。ユーザーがオンボタンをクリックすると、再生をクリックし始めると音楽が再生されます。ユーザーがオフをクリックすると、音楽は再生されません。ただし、デフォルトでは、音楽が再生されます。

ユーザーがonボタンをクリックすると、このsign変数が1に設定され、この値が再生アクティビティに渡されます。符号値が 1 に等しい場合、音楽が開始されます。0 の場合、音楽は再生されません。しかし、これを行った後、クリックした後、FORCE CLOSE私のゲームの " " になります。

Options アクティビティのコードは次のとおりです。

musicOn.setOnClickListener(new OnClickListener(){

    @Override
    public void onClick(View arg0) {
        // TODO Auto-generated method stub

    Intent put = new Intent(getApplicationContext(), Level1.class); 

    musicSwitch = 1;
    Bundle cargo = new Bundle();
    cargo.putInt("sign", musicSwitch);

    put.putExtras(cargo);
    }
});

musicOff.setOnClickListener(new OnClickListener(){

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub

    Intent put = new Intent(getApplicationContext(), Level1.class);             
    musicSwitch = 0;
    Bundle cargo = new Bundle();
    cargo.putInt("sign", musicSwitch);

    put.putExtras(cargo);
    }

});

そして、これは私のレベル1アクティビティ用です:

int value=1;

Bundle cargo = getIntent().getExtras();
value = cargo.getInt("sign");

if(value==1){
MediaPlayer mPlayer = MediaPlayer.create(Level1.this, R.raw.sounds);
mPlayer.start();
mPlayer.setLooping(true);
}
4

2 に答える 2

0

より正確にするために、logcat を投稿してください。

値が 0 の場合に何をすべきかを指示しなかったため、強制終了だと思います。

if(value==1){
MediaPlayer mPlayer = MediaPlayer.create(Level1.this, R.raw.sounds);
mPlayer.start();
mPlayer.setLooping(true);
} else if(value == 0){
mPlayer.stop();
}

mPlayer を if ステートメントだけではなく static にすることをお勧めします。

于 2013-08-19T17:58:53.563 に答える