【发布时间】:2013-11-28 21:44:32
【问题描述】:
我正在通过 Andengine 开发游戏,但我被卡在了某个地方! 问题是: 它在我触摸场景(touchX,touchY)的地方添加了一个精灵,并且在(touchX + 100,touchY)处添加了一个精灵。这两个精灵在 x 轴上相互之间总是有 100px 的距离。 到目前为止,我触摸了一次并在场景中添加了两个精灵。然后,当我想移动其中一个(比如说第一个)时,第二个也必须移动以保持它们之间的距离(100px)。我的代码在下面,这些代码是正确添加的,但只有一个在移动,这就是为什么另一个不能不断保持距离的原因。我怎样才能正确地做到这一点?
public boolean onSceneTouchEvent(Scene pScene, TouchEvent pSceneTouchEvent) {
if(pSceneTouchEvent.getAction() == MotionEvent.ACTION_DOWN)
{
touchX = pSceneTouchEvent.getX();
touchY = pSceneTouchEvent.getY();
}
if(pSceneTouchEvent.getAction() == MotionEvent.ACTION_UP)
{
}
if (pSceneTouchEvent.getAction() == MotionEvent.ACTION_MOVE){
AnimatedSprite circleBoxE1 = new AnimatedSprite(touchX, touchY, resourcesManager.circleBoxRegion, vbom){
@Override
public boolean onAreaTouched(TouchEvent pTouchEvent, float pTouchAreaLocalX, float pTouchAreaLocalY) {
this.setPosition(pTouchEvent.getX(), pTouchEvent.getY());
return true;
}
};
registerTouchArea(circleBoxE1);
attachChild(circleBoxE1);
setTouchAreaBindingOnActionDownEnabled(true);
AnimatedSprite circleBoxE2 = new AnimatedSprite(touchX, 450 - touchY, resourcesManager.circleBoxRegion, vbom){
@Override
public boolean onAreaTouched(TouchEvent pTouchEvent, float pTouchAreaLocalX, float pTouchAreaLocalY) {
this.setPosition(pTouchEvent.getX() + 100, pTouchEvent.getY());
return true;
}
};
registerTouchArea(circleBoxE2);
attachChild(circleBoxE2);
setTouchAreaBindingOnActionDownEnabled(true);
}
【问题讨论】:
标签: android coding-style touch andengine game-center