1

開発中のゲームのバイブレーションフィードバックを、「勝者」のような音楽プレイとバイブレーションパターンとともに追加したいと思います。

問題は、バイブレーション文を追加するとアプリがクラッシュすることです。

例えば:

 private void Down()
  {
    soundM.playSound(Sound.SOUND_NEWINTENT);

    for (int i=0 ; i<8 ; i++) {
      for (int j=0 ; j<12 ; j++) {
        if (Play[i][j] != null) {
          Play[i][j].moveDown();

          if (Play[i][j].getSpritePosition().y>=380) {
            Sprite.updateState(Sprite.STATE_GAME_LOST);
            endOfGame = true;

            soundM.playSound(Sound.SOUND_LOST);
            vib = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE); 
            vib.vibrate(500); 

          }
        }
      }
    }

Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE)これはアクティビティ内にないため、アクティビティステートメントであるため、このようなものを実装することはできません。上に示したコードを宣言し public Vibrator vib;て実装しようとしましたが、ゲームに負けた場合、アプリケーションがクラッシュします。

また、「通知」を介してそれを実行しようとしましたが、同じ結果、アプリがクラッシュします。

どうすればバイブレーションを実装できますか?

ありがとう!!

PS:私はandroid.permission.VIBRATEを持っているので、問題はありません。実際、私はメニューに取り組んでいる振動を得ました。

4

1 に答える 1

1

ゲームオブジェクトを呼び出すアクティビティでパブリックバイブレータオブジェクトを宣言します。私の場合、onCreateアクティビティは、surfaceViewを拡張するMainGamePanelを起動します。したがって、onCreateアクティビティで、バイブレータオブジェクトを宣言し、次のように初期化します。

public static Vibrator v;

v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);

//Then when I want to game to vibrate, inside of MainGamePanel I call

long[] pattern = { 0, 200, 500 };

DroidzActivity.v.vibrate(pattern, 0);

お役に立てれば!

于 2011-07-12T16:24:20.447 に答える