读书人

点击Detial提示’java.lang.IllegalMo

发布时间: 2014-01-26 14:34:06 作者: rapoo

动画中的两张图片:

第一张是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)


------解决方法--------------------------------------------------------
等待用户输入何必要停止线程? 停止移动图片不就行了吗。

        

读书人网 >Java Exception

热点推荐