2017-04-19 18 views
0

しばらくスプライトを点滅させるにはどうすればいいですか?いつかLibGdxのスプライトを点滅させる方法

私のゲームでは私は家のスプライトを持っています。最初は明るいものです。別のスプライトがこの家に触れると、家の中の光が点滅を開始します。

私は別の方法を試しました。私はそれを動作させることができませんでした。 誰かがこれを行うためのアイデアを共有したいと考えています。

+0

あなたはbox2dライトを使用していますか? – Aryan

+0

No.Scene2dのみ。@ AbhishekAryan – Niranjana

+0

ここで光とはどういう意味ですか? – Aryan

答えて

1

あなたが輝きなし輝きと、別の2つの同一のテクスチャ1を使用することができます。 2つのイメージを作成するだけで、あなたの必要条件を達成できます。

あなたはscene2dを使用していますので、imageとimage1のように2つ作成できます。

SequenceAction actions=Actions.sequence(Actions.run(new Runnable() { 
      @Override 
      public void run() { 
       image.setVisible(true); 
       image1.setVisible(false); 
      } 
     }),Actions.delay(.2f),Actions.run(new Runnable() { 
      @Override 
      public void run() { 
       image.setVisible(false); 
       image1.setVisible(true); 
      } 
     }),Actions.delay(.2f)); 

Action myAction=Actions.forever(actions); //or not forever 
Action myAction=Actions.repeat(5,actions); 

stage.addAction(myAction); 

しかし、あなたはShaderと認識して、その後あなたの条件のためにここにシェーダプログラムを使用している場合、これは、良い方法ではありません。

これをチェックするとvideotutorialが同じです。それは私の提案の中でより良い選択肢です。

box2dlightも同じです。

1

あなたはこのような何か行うことができます。

long timeTracker = TimeUtils.millis(); 
long timeIntervalPerBlink = 50; // in ms 
bool onOrOff = true; // if true light will on, else off 

をして、更新部でこれを行う:

if (TimeUtils.timeSinceMillis(timeTracker) >= timeIntervalPerBlink) 
{ 
    if (onOrOff) 
    { 
     // turn on your light (draw it) 
     onOrOff = !onOrOff; // flip it, so in the next interval the light will be off if its on or on if its off. 
     timeTracker = TimeUtils.millis(); //reset the time 
    } 
} 
関連する問題