Java Andengine-客户端修改器侦听器不工作
我正在尝试使用实体修改器来操作一些精灵,一旦完成,它应该注销自身。我还添加了一个布尔值,以确保它在运动时不会再次触发。问题是,onModifierStart和onModifierFinished的方法似乎没有启动 这是设置实体修改器的代码Java Andengine-客户端修改器侦听器不工作,java,android,andengine,Java,Android,Andengine,我正在尝试使用实体修改器来操作一些精灵,一旦完成,它应该注销自身。我还添加了一个布尔值,以确保它在运动时不会再次触发。问题是,onModifierStart和onModifierFinished的方法似乎没有启动 这是设置实体修改器的代码 entityModifier = new SequenceEntityModifier(new IEntityModifierListener() { @Override public void onModifierStart
entityModifier = new SequenceEntityModifier(new IEntityModifierListener() {
@Override
public void onModifierStarted(IModifier<IEntity> pModifier, IEntity pItem) {
// TODO Auto-generated method stub
enabled = false;
}
@Override
public void onModifierFinished(IModifier<IEntity> pModifier, IEntity pItem) {
// TODO Auto-generated method stub
enabled = true;
pItem.unregisterEntityModifier((IEntityModifier) pModifier);
pModifier.reset();
}
},
new AlphaModifier(2f, 1f, 0f),
new RotationModifier(1, 0, 90),
new AlphaModifier(2, 1, 0),
new AlphaModifier(1, 0, 1),
new ScaleModifier(2, 1, 0.5f),
new DelayModifier(0.5f),
new ParallelEntityModifier(
new ScaleModifier(3, 0.5f, 5),
new RotationByModifier(3, 90)
),
new ParallelEntityModifier(
new ScaleModifier(3, 5, 1),
new RotationModifier(3, 180, 0)
)
);
问题是deepCopy的拷贝深度不够 深度复制方法jsut执行以下操作:
return new SequenceEntityModifier(this);
这将排除对onModifierStarted和onModifierFinished的覆盖
相反,尝试创建一个扩展SequenceEntityModifier的私有类并使用它。或者创建一个方法,您可以在精灵和按钮中传递该方法,以便向其中添加实体侦听器
return new SequenceEntityModifier(this);