【问题标题】:How to detect Screen Boundary using AndEngine gles1?如何使用 AndEngine gles1 检测屏幕边界?
【发布时间】:2013-02-26 10:42:54
【问题描述】:
我尝试了使用AndEnginegles1 的小游戏代码,在其中我沿着屏幕移动精灵。
我使用AnalogOnScreenControl 沿着屏幕移动我的精灵。当我测试它时,精灵也会沿着屏幕边界移动,这意味着它会在屏幕完成后向上、向左、向右、向下移动。然后我将顶线作为图像并检查精灵和线条之间的碰撞,但然后精灵会粘在顶线上没有移动到任何地方,所以我尝试了onAccelerometerChanged() 方法,但它也不起作用。
所以,请帮助我如何检测屏幕边界,以便精灵不会超出屏幕边界。有这方面的教程吗,请给我链接。
提前致谢。
【问题讨论】:
标签:
android
opengl-es
andengine
game-engine
【解决方案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
}
本质上,您要确保精灵在场景范围内,这是由您设置的相机确定的。