如何让精灵闪烁一段时间?
在我的游戏中,我有一个房子精灵。最初它是一个明亮的。一个另一个精灵接触这个房子,房子内的灯将开始闪烁。就像持续打开和关闭灯。
我尝试了不同的方法。我无法使其发挥作用。 希望有人愿意分享他们的想法。
答案 0 :(得分: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
}
}
答案 1 :(得分:1)
你可以使用两个相同的纹理一个发光,另一个不发光。 只需创建两个图像即可达到您的要求。
你正在使用scene2d,所以你可以创建两个像image和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
,那么在这里使用Shader程序来满足你的要求。
检查此video和tutorial是否相同。在我的建议中,这是更好的选择。
您也可以使用box2dlight。