我正在制作一款游戏,当你第一次和第二次点击屏幕创建门户时。对于第三次单击,我希望第一个门户移动到第三次单击的位置。这是我的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不起作用。程序在第三次点击时崩溃。
答案 0 :(得分:1)
每次在onSceneTouchEvent
中创建新的空数组Sprite[] portal = new Sprite[10];
。
else if(portalCounter == 2){
portal[0].setPosition(pSceneTouchEvent.getX(), pSceneTouchEvent.getY());
}
portal [0]为空