2013-02-26 61 views
0

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

所以,帮助我,我如何检测屏幕边界,使精灵不超出屏幕边界。有关于此的任何教程,请给我链接。

谢谢先进。

回答

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 
} 

从本质上说,您要使用要确保精灵是现场,这是由你设置相机决定的范围之内的东西。