动画中的两张图片:
第一张是monkey[0],坐标是(x,y);
第二张是monkey[2],坐标是(xiongX,xiongY);
我想在两张图片碰撞的时候,将之前定义好的int变量scroe能够自加5,即我把下面检测碰撞的算法中的wait()改成scroe+=5时就会出现DEBUG报错:
"ok3Displayable.java": exception java.lang.InterruptedException is never thrown in body of corresponding try statement at line 62, column 6
我检测两张图片是否碰撞的算法:
try {
if(x-monkey[0].getWidth()/2 <xiongX +monkey[2].getWidth()/2 &&
x+monkey[0].getWidth()/2 >xiongX -monkey[2].getWidth()/2){
if(y-monkey[0].getHeight()/2 < xiongY + monkey[2].getHeight()/2 &&
y+monkey[0].getHeight()/2 > xiongY - monkey[2].getHeight()/2){
wait(); //使游戏停顿
}
}
} catch (InterruptedException e1) {}
直接这么写的时候运行,在没有碰撞的时候游戏可以正常运行,但是一旦碰撞发生之后就会出现Application Eorrer,点击Detial提示“java.lang.IllegalMoniterStateException”。
改成s+=5;则会出现上面说的问题。
我该怎么做啊?
我的环境:jb2006+nokia7210(midp1.0)
------解决方法--------------------------------------------------------
等待用户输入何必要停止线程? 停止移动图片不就行了吗。