2017-10-20 8 views
0

私はタップゲームのプロトタイプを作っています。
そして、プレイヤーがモンスターにダメージを与えたときにアニメーションを作成します。ImageViewの色合いを繰り返し変更するには?

モンスターが唯一のImageViewのである、と私は(color.xmlで定義された)色の赤にImageViewのの色合いを変更するには、このラインを使用

imageView.setColorFilter(this.getResources().getColor(R.color.damage)); 

私の目標は、ImageViewのが「点滅」にすることですオリジナルのImageViewとImageViewの間に赤い色合いがあります。
しかし、私はこれを何度もやり直すことはできません。

私を助けることができますか? (私は自分自身を明らかにした願っています - 私はフランス人だと、私の英語は非常に良いではありません)

答えて

0

最も簡単:

public void blinkLimited(long started, long duration) { 
    if(duration > System.currentTimeInMillis() - started) return; 
    imageView.setColorFilter(this.getResources().getColor(R.color.damage)); 
    imageView.postDelayed(new Runnable(){ public void run() { 
    imageView.setColorFilter(this.getResources().getColor(R.color.atention)); 
       imageView.postDelayed(new Runnable(){ public void run() { 
        blinkLimited(started, duration); 
       }, 200); 
    }, 200); 
    } 

はblinkLimited(System.currentTimeInMillis()、2000)を実行し、あなたは気づきます。

+0

こんにちは、まずはあなたの答えをありがとう、その仕事! しかし、私はちょうど2秒間にアニメーションを最後にしたい場合、どうしたら止めることができますか?あなたがその永遠に言うように^^ ' –

+0

答えをチェックすると、2000年はmsで2秒になります。答えがアップヴォートを助けたら解決したら正しいと受け入れてください –

+0

ありがとう、男!素敵な日/夕方をお過ごしください。D –

関連する問題