andengine Sprite setPosition不起作用

时间:2013-06-07 03:00:20

标签: arrays andengine sprite

我正在制作一款游戏,当你第一次和第二次点击屏幕创建门户时。对于第三次单击,我希望第一个门户移动到第三次单击的位置。这是我的onSceneTouchEvent:

@Override
public boolean onSceneTouchEvent(Scene pScene, TouchEvent pSceneTouchEvent) {
    // TODO Auto-generated method stub
     if (pSceneTouchEvent.isActionDown())
        {
         Sprite[] portal = new Sprite[10];
         if (portalCounter <= 2)
            {
             if(portalCounter == 0){
                 portal[0] =  new Sprite(pSceneTouchEvent.getX(), pSceneTouchEvent.getY(), resourcesManager.platform1_region, vbom);
                 attachChild(portal[0]);
                 portalCounter++;
             }
             else if(portalCounter == 1){
                 portal[1] =  new Sprite(pSceneTouchEvent.getX(), pSceneTouchEvent.getY(), resourcesManager.platform1_region, vbom);
                 attachChild(portal[1]);
                 portalCounter++;
             }
             else if(portalCounter == 2){
                 portal[0].setPosition(pSceneTouchEvent.getX(), pSceneTouchEvent.getY());
             } 
       }
   }
    return false;
}

问题是setPosition不起作用。程序在第三次点击时崩溃。

1 个答案:

答案 0 :(得分:1)

每次在onSceneTouchEvent中创建新的空数组Sprite[] portal = new Sprite[10];

else if(portalCounter == 2){
    portal[0].setPosition(pSceneTouchEvent.getX(), pSceneTouchEvent.getY());
} 

portal [0]为空