日期:2014-05-20  浏览次数:20662 次

精灵移动问题
精灵移动都能移出屏幕的,都看不见了。怎么让精灵不能移出屏幕啊!!请给出相关代码吧!不知道怎么弄了!

------解决方案--------------------
int keyStates = getKeyStates();
//Left
if((keyStates & LEFT_PRESSED) != 0)
{
currentX = Math.max(0,currentX -1); spritePlane.setFrame(INDEX_OF_UP);
}
//Right
if((keyStates & RIGHT_PRESSED) != 0){
currentX = Math.min(width -35,currentX + 1); spritePlane.setFrame(INDEX_OF_RIGHT);
}
//UP
if((keyStates & UP_PRESSED) != 0){
currentY = Math.max(0,currentY - 1); spritePlane.setFrame(INDEX_OF_UP);



}
//Down
if((keyStates & DOWN_PRESSED) != 0){
currentY = Math.min(height + 15, currentY + 1); spritePlane.setFrame(INDEX_OF_DOWN);
}
------解决方案--------------------
得到屏幕的大小,移动的时候比较当前spirte的坐标和屏幕大小,超过就不动了。
------解决方案--------------------
你精灵Sprite移动的肯定有X,Y参数 吧,增加个if语句.
if(x>屏幕边缘的右坐标或X<0坐标的时候)
x=相应的屏幕边缘坐标.
if(y............................)
y=..................