2017-01-17 12 views
0

レベルアップするとき、レベルアップサウンドは1回だけトリガーするようにソースコードを調整するにはどうすればよいですか?特定の値に達した後にサウンドを一度トリガーする方法

ここで、サウンドは常に再生され、停止しませんが、レベルアップサウンドをレベルごとに1回だけトリガーします。

private void Run(){ 
    int a = 0; 
    do { 
     showEmerald(); 
     a++; 
    }while (a<15);//show more emeralds 
    vanishEmerald(); 
    updateScreen(); 
    handler.postDelayed(this, 600); 

    if (points>=25){ 
     level=2; 
     levelup.start(); 
    } 
+1

コード内のすべてを英語に翻訳してください。将来的に他の読者にあなたの質問をより便利にしてくれるでしょう。このコードのどの部分がサウンドを演奏しているかはまったく明らかではありません... –

+0

その他:別の構造を使用することを検討してください。現在、あなたの "lauf"メソッドは実際に何が起こっているかを実際に制御する**中央**の場所です。このようなシンプルなソリューションは、最初のアイデアのために機能しますが、ゲームを強化しようとするとすぐに、その場に制限があります。また、あなたの命名について正確なミツバチ:あなたは "entferneSmaragte()"と "aktualisiereBildschirm()"のようなものをよく言います。動詞を常に最初に置く。 – GhostCat

答えて

1

句場合-は常にfullfilledあるとlevelupをトリガすることがを25ポイント以上に当たる一度あなたがそれを定義された方法。私は、レベルアップがトリガされた後に、ループの外側にあるか、または/およびポイントのカウンタをリセットするかのどちらかを定義することをお勧めします。手動で毎回レベルを上げる必要はありません、それは一つだけで、さらに毎回をインクリメント

if (points>=25){ 
    level++; 
    levelup.start(); 
    points = 0 
} 

この方法:このような

何か。

+0

大丈夫ですよ、助けてくれてありがとう。 – jordy

+0

問題ありません。うまくいけばそれは働く;) –

+0

それは仲間を働く!ありがとうございました – jordy

関連する問題