如何在触摸精灵时启动倒数计时器

问题描述:

我有精灵(精灵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方法

+0

我怎么叫计时器,然后,你可以请给我一个例子关于如何去做 – user3661470

ü应该在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)); 
      } 
      } 
     }); 
     } 
     };