2017-04-19 94 views
0

如何讓精靈閃爍一段時間?如何讓精靈閃爍一段時間 - LibGdx

在我的遊戲中,我有一個房子精靈。最初它是一個明亮的房子。一旦另一個精靈觸摸到這個房子,房子裏面的燈光就會開始閃爍。就像連續打開和關閉燈一樣。

我嘗試了不同的方式,我無法讓它工作。 希望有人會分享他們的想法來做到這一點。

+0

您是否使用box2d燈? – Aryan

+0

僅限No.Scene2d @ AbhishekAryan – Niranjana

+0

那麼你在這裏的光是什麼意思? – Aryan

回答

1

您可以使用兩個相同的紋理一個輝光和另一個不發光。 通過創建兩個圖像來實現您的要求。

您正在使用scene2d,因此您可以創建兩個類似的圖像和image1;

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 
    } 
}