在LibGDX的更新方法中,是否可以在被告知时仅执行一次操作,而不执行此操作? :
private boolean shouldBeFired = false;
@Override
public void update(float dt) {
if(shouldBeFired)
fire();
shouldBeFired = false;
}
答案 0 :(得分:0)
如果问题的数量是问题,您可以使用int
或甚至更优,您可以使用enum
满足您的要求。
enum MyFlag{
NONE,FIRST,SECOND,THIRD,FOURTH
}
MyFlag myFlag=MyFlag.NONE;
@Override
public void update(float dt) {
if(myFlag==MyFlag.FIRST) {
fire();
myFlag=MyFlag.values()[myFlag.ordinal()+1]; // incremental change
//or manually change
myFlag=MyFlag.NONE;
}
}
同一屋檐下的恒定标志数量是实现最佳发展的良好选择。