0

我尝试了使用gles1的小游戏代码AndEngine,在其中我沿着屏幕移动精灵。我用来AnalogOnScreenControl沿着屏幕移动我的精灵。当我测试它时,精灵也会沿着屏幕边界移动,这意味着它会在屏幕完成后向上、向左、向右、向下移动。然后我将顶线作为图像并检查精灵和线条之间的碰撞,然后精灵会粘在顶线上不会移动到任何地方,所以我尝试onAccelerometerChanged()了方法,但它也不起作用。

所以,请帮助我如何检测屏幕边界,以使精灵不会超出屏幕边界。有这方面的教程吗,请给我链接。

提前致谢。

4

1 回答 1

1

如果它类似于数字控件,那么您应该覆盖该方法onControlChange()。在这种方法中,您只需要设置类似

//As long as the sprite is in the bounds, then move the sprite
if(mSprite.getX() > 0 && mSprite.getX() + mSprite.getWidth() < CAMERA_WIDTH && 
      mSprite.getY() > 0 && mSprite.getY() + mSprite.getHeight() < CAMERA_HEIGHT){
     //Move the sprite here
 }

本质上,您要使用希望确保精灵在场景的范围内,这是由您设置的相机确定的。

于 2013-02-26T14:18:01.820 回答