读书人

个位帮忙看一下小弟实在太菜了在此

发布时间: 2011-12-17 23:37:33 作者: rapoo

个位大虾帮忙看一下,小弟实在太菜了,在此谢过~~~~~~~~
我要编一个坦克大战游戏,现以将坦克的功能和子弹的功能编好,但不能解决线程的同步问题,请个位大虾帮帮忙
代码如下(部分省略)
public class TankSprite extends GameCanvas implements Runnable{
public TankSprite() {
super(true);
try {
Tanksprite();

} catch (IOException e) {

e.printStackTrace();
}
tankmap = new TankMap();
start();
}
public void start(){
isRun = true;
Thread t = new Thread(this);
t.start();

}
public void stop(){
isRun = false;
}
public void run() {
mSprite.setFrame(0);
while(isRun == true){
render(g);
input();
try{
Thread.sleep(mFrameDelay);
}catch(InterruptedException ie){}
}

}
}


public class BulletSprite extends TankSprite implements Runnable{
public BulletSprite() {

try {
bulletSprite();
} catch (IOException e) {

e.printStackTrace();
}
start();
}
public void bulletSprite() throws IOException {

bullet = Image.createImage( "/bullet.png ");
mSprite = new Sprite(bullet);
flushGraphics();

}
public void start(){
isRun = true;
Thread t = new Thread(this);
t.start();
}
public void stop(){
isRun = false;
}
public void run() {
mSprite.setFrame(0);
while(isRun == true){
tankmap.mBackground.paint(g);
mSprite.setPosition(x, y);
fire();

try{
Thread.sleep(mFrameDelay);
}catch(InterruptedException ie){}
}

}
}

我就是想将两个类中的rum()方法同时执行,互不影响
如能答复,小弟感激不尽

[解决办法]
单机游戏用单线成就可以了
[解决办法]
2楼不厚道
要是这样LZ还问干嘛
[解决办法]
帮顶
[解决办法]
同时执行互不影响,如果这两个类里没有相交叉的地方有可能实现,但是你第二个类继承了第一个类,还是不建议你这样做,如果需要同步的话,就把需要同步的类前边加上synchronized就可以了

读书人网 >J2ME开发

热点推荐