如何在触摸精灵时启动倒数计时器
问题描述:
我有精灵(精灵1)和倒数计时器,我想知道是否有办法让引擎启动倒数计时器只有当精灵被感动。如何在触摸精灵时启动倒数计时器
Sprite sprite1;
int time=10;
@Override
public void onPopulateScene(Scene pScene,
OnPopulateSceneCallback pOnPopulateSceneCallback) throws Exception {
sprite1= new Sprite(100, 100, squarer, this.mEngine.getVertexBufferObjectManager())
{
@Override
public boolean onAreaTouched(TouchEvent pSceneTouchEvent, float X, float Y)
{
scene.setBackground(new Background(200,200,200));
}
};
TimerHandler mtimer= new TimerHandler(0.1f,true,new ITimerCallback() {
@Override
public void onTimePassed(TimerHandler pTimerHandler) {
// TODO Auto-generated method stub
time--;
if (time==0){
scene.setBackground(new Background(0,0,120));
}
}
});
this.scene.attachChild(sprite1);
this.scene.registerTouchArea(sprite1);
this.scene.registerUpdateHandler(mtimer);
pOnPopulateSceneCallback.onPopulateSceneFinished();
}
}
答
通话计时器就在你的精灵的被覆盖的onareatouched方法
答
ü应该在overrided onAreaTouched计时器。在onAreaTouched方法一切都将只能被称为当你触摸精灵,尝试这样的事情(没有检查代码正确):
@Override
public boolean onAreaTouched(TouchEvent pSceneTouchEvent, float X, float Y)
{
scene.setBackground(new Background(200,200,200));
TimerHandler mtimer= new TimerHandler(0.1f,true,new ITimerCallback() {
@Override
public void onTimePassed(TimerHandler pTimerHandler) {
// TODO Auto-generated method stub
time--;
if (time==0){
scene.setBackground(new Background(0,0,120));
}
}
});
}
};
我怎么叫计时器,然后,你可以请给我一个例子关于如何去做 – user3661470