我使用AndEngine
gles1尝试了小游戏代码,其中我沿着屏幕移动精灵。
我使用AnalogOnScreenControl
在屏幕上移动我的精灵。当我测试它然后精灵也沿着屏幕边界移动意味着它向上,向左,向右,向下虽然屏幕完成。然后我把顶线作为图像并检查精灵和线之间的碰撞但是然后精灵坚持到顶线它不会移动到任何地方,所以我尝试onAccelerometerChanged()
方法,但它也不起作用。
所以,请帮助我如何检测屏幕边界,以便精灵不会超出屏幕边界。有关于此的任何教程请给我链接。
先谢谢了。
答案 0 :(得分:1)
如果它与Digital控件类似,那么你应该重写方法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
}
本质上,你想使用想要确保精灵在场景的范围内,这是由你设置的相机决定的。