如何讓精靈閃爍一段時間?如何讓精靈閃爍一段時間 - LibGdx
在我的遊戲中,我有一個房子精靈。最初它是一個明亮的房子。一旦另一個精靈觸摸到這個房子,房子裏面的燈光就會開始閃爍。就像連續打開和關閉燈一樣。
我嘗試了不同的方式,我無法讓它工作。 希望有人會分享他們的想法來做到這一點。
如何讓精靈閃爍一段時間?如何讓精靈閃爍一段時間 - LibGdx
在我的遊戲中,我有一個房子精靈。最初它是一個明亮的房子。一旦另一個精靈觸摸到這個房子,房子裏面的燈光就會開始閃爍。就像連續打開和關閉燈一樣。
我嘗試了不同的方式,我無法讓它工作。 希望有人會分享他們的想法來做到這一點。
您可以使用兩個相同的紋理一個輝光和另一個不發光。 通過創建兩個圖像來實現您的要求。
您正在使用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
然後在這裏使用着色器程序爲您的要求。
檢查此video和tutorial爲相同。我的建議是更好的選擇。您也可以使用box2dlight。
你可以做這樣的事情:
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
}
}
您是否使用box2d燈? – Aryan
僅限No.Scene2d @ AbhishekAryan – Niranjana
那麼你在這裏的光是什麼意思? – Aryan