现在学到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网络版》是一款基于网络的坦克对战游戏,由尚学堂的马士兵老师进行手把手的教学。这个游戏的开发过程中涉及到了多个技术点,主要包括网络编程、游戏逻辑设计、多线程通信以及消息处理机制。 在游戏的1.9...
【TankWar单机版开发详解】是一篇关于利用Java J2SE技术开发经典游戏"坦克大战"的文章。文章源于北京尚学堂马士兵老师的讲解,旨在帮助开发者复习J2SE的知识,掌握面向对象编程思想,以及MyEclipse工具的使用。 在...
【Java开发的TankWar游戏】 Java编程语言以其跨平台性和丰富的类库被广泛应用于各种软件开发,包括游戏制作。"TankWar"是一个基于Java开发的小型游戏,它展示了如何使用Java进行游戏编程,同时提供了源代码供学习者...
TankWar单机版的设计灵感来源于经典的坦克大战游戏,玩家通过控制坦克在地图上移动,击败敌方坦克以赢得胜利。游戏的核心在于策略和反应速度,同时,它也展现了Java编程语言在实时交互和图形渲染方面的应用能力。 ...
5. **多人对战**:传统的坦克大战支持单人或双人对战,如果"TankWar1.9"包含了多人对战功能,那么网络编程和同步机制将是重要的技术挑战。 6. **地图编辑器**:游戏可能允许玩家自定义地图,这需要一个地图编辑工具...
TankWar游戏制作的思想,步骤,总结情况
TankWar2.6(无敌发射游戏).TankWar2.6(无敌发射游戏).
《TankWar源码详解——揭示Android游戏开发的秘密》 在Android平台上,开发一款游戏往往是一项技术与创意并重的工作。今天我们将深入探讨的"TankWar源码",就是这样一个典型的例子,它为我们揭示了Android游戏开发...
在游戏开发领域,"TankWar"是一款经典的2D射击小游戏,深受编程爱好者和初级游戏开发者喜爱。本项目提供了一套完整的开发文档和源代码,旨在帮助学习者深入理解游戏开发的基本流程和技术要点。本文将详细解析其中的...
《坦克大战TankWar_a5源码解析》 在Android开发领域,学习并分析优秀的源码是提升技术能力的重要途径。本篇文章将深入探讨名为“TankWar”的Android游戏源码,帮助开发者了解其背后的编程思想、设计模式以及Android...
《坦克大战》(TankWar)是一款经典的双人对战游戏,深受玩家喜爱。它起源于1985年,由日本公司Namco开发并首次在任天堂FC(Family Computer)平台上发布,是那个时代电子游戏的代表作之一。游戏的核心玩法是通过控制...
在“TankWar-master.zip”这个压缩包中,我们预计会找到这个游戏项目的源代码、资源文件、场景设置、动画配置等相关内容。以下是一些可能包含的关键知识点: 1. **Unity Engine基础知识**:理解Unity的基本工作流程...
JAVA 游戏坦克大战 TankWar.zipJAVA 游戏坦克大战 TankWar.zip JAVA 游戏坦克大战 TankWar.zipJAVA 游戏坦克大战 TankWar.zip JAVA 游戏坦克大战 TankWar.zipJAVA 游戏坦克大战 TankWar.zip JAVA 游戏坦克大战 ...
本篇文章将深入探讨如何利用Android SDK开发一款名为"TankWar"的坦克战斗游戏。我们将从游戏设计、编程基础、图形绘制到碰撞检测等关键环节进行详细讲解。 一、游戏设计 "TankWar"是一款基于2D的坦克对战游戏,玩家...
如果是多人在线的TankWar,还需要处理网络同步问题。服务器端接收客户端的输入,经过处理后广播给所有玩家,确保游戏状态的一致性。这需要考虑网络延迟、数据包丢失等问题,通常采用预测和修正策略来优化用户体验。 ...
"TankWar.rar"是一个包含源代码的压缩包,其中的内容是根据马士兵老师的教程编写的坦克大战游戏。这个项目是为学习和参考而设计的,特别强调了代码的注释,以便于初学者理解和学习。在这里,我们将深入探讨JavaSE...
如果需要查看源码并进行编辑,开发者可能需要将文件转换为UTF-8编码,因为现代的开发工具通常默认使用UTF-8,这样能避免乱码问题。 游戏本身是由一系列类和对象组成的,这是Java面向对象编程的基础。我们可以假设...
J2SE开发的坦克大战源代码,可供初学者学习参考使用
坦克大战(TankWar) 坦克大战(TankWar) 坦克大战(TankWar)