现在学到TankWar的网络版部分了,觉得马老师在处理MissileNewMsg消息的时候弄得太麻烦了,还得处理处理爆炸和MissileDeadMsg消息。我觉得可以不用这个消息,直接给各个客户端发送坦克的Fire也就是开火消息FireMsg,要发送的信息只有两个内容:1,消息类(FireMsg );2,myTank的tankID 。当接收端收到这个消息的时候, 解析出tankID,即:
int tankID;
tankID = dis.readInt();
for(int i = 0; i < gw.tanks.size(); i++) {
if(tankID == gw.tanks.get(i).ID) {
gw.tanks.get(i).fire(); //gw是GameWindow的实例,就是马老师的tc
return;
}
}
当然,FireMsg要坦克调用fire()方法之后发送:
case KeyEvent.VK_SPACE:
fire();
FirewMsg fireMsg = new FirewMsg(this.ID);
gw.tankClient.send(fireMsg); //gw是GameWindow的实例,就是马老师的tc
break;
这样处理的好处是所有的Missile都是本地产生的,不用再处理MissileDeadMsg和爆炸的问题。
关于这个问题,我发邮件问过马老师,他说也可以这样做:)不过MissleDeadMsg是必须的,不然的话可能会不同步。我试了,这样处理后非常流畅,没有感觉延时,可能是客户端太少(只有3个),所以感觉不出来。
分享到:
相关推荐
TankWar网络版.ppt
详细地讲解了TankWar的设计方法,原材料来自北京尚学堂马士兵老师的讲解。
tankwar 单击版。包括:源代码,jar包,doc文档。
tankwar游戏
TankWar游戏制作的思想,步骤,总结情况
TankWar2.6(无敌发射游戏).TankWar2.6(无敌发射游戏).
TankWar.zip
JAVA 游戏坦克大战 TankWar.zipJAVA 游戏坦克大战 TankWar.zip JAVA 游戏坦克大战 TankWar.zipJAVA 游戏坦克大战 TankWar.zip JAVA 游戏坦克大战 TankWar.zipJAVA 游戏坦克大战 TankWar.zip JAVA 游戏坦克大战 ...
用java开发的小游戏,其中包含java游戏源代码,doc文档等。
第一次做坦克大战哦,希望大家相互学习。一起成长
TankWar源码,是一个很不错的Android代码,有兴趣的伙伴们抽时间可以看一下把。
TankWar源码,是一个很不错的Android代码,有兴趣的伙伴们抽时间可以看一下把。
学着写的马士兵老师的TankWar 自己加入注释方便学习参考。
TankWar坦克大战
unity制作的坦克大战
J2SE开发的坦克大战源代码,可供初学者学习参考使用
坦克大战(TankWar) 坦克大战(TankWar) 坦克大战(TankWar)
291016463817981tankwar.zip
游戏开发文档及代码。。。 菜单项可以选择开始新游戏,退出,暂停,继续,帮助功能,对于开始新游戏,退出两个功能,要给出提示,用户是否真的想继续操作!
用Ogre开发的3d开源游戏,卡通渲染,还包含编辑器(未上传)