马士兵教程—《坦克大战》游戏设计思路
版本0.1
功能:产生一个窗口
版本0.2
功能:添加关闭窗口的事件处理
不允许窗口的大小改动
版本0.3
功能:画出代表坦克的实心圆
版本0.4
功能:让坦克运动起来
步骤:
将位置改变为变量
启动线程不断重画
思考:为什么使用线程重画,而不是每按下一个键进行一次重画?
线程重画更均匀,更能控制重画的速度。
按键重画不能解决子弹自动飞行的问题。
每次重画改变Tank位置
版本0.41
功能:使用双缓冲消除闪烁现象
原因
刷新重画频率太快,paint方法还没有完成
逐条显示
解决办法
将所有东西画在虚拟图片上,一次性显示出来
版本0.5
功能:代码重构
将以后可能需要多处改变的量定义为常量
Frame的宽度和高度
常量名一般大写
版本0.6
功能:让坦克听从我们的指挥
添加键盘监听器类KeyMonitor
TankCient添加键盘监听器
针对不同的键改变坦克的位置,与重画线程结合产生不同方向运动
版本0.7
功能:将坦克单独包装成类
步骤:
建立Tank类
为Tank类添加成员变量x y
添加

这篇博客详细介绍了从零开始设计《坦克大战》游戏的过程,从最初的窗口创建到坦克移动、双缓冲消除闪烁、坦克类的设计、子弹的添加、敌人的智能行为、碰撞检测、墙壁与坦克互动,再到生命值、超级炮弹、血块和游戏循环,逐步揭示了游戏开发的核心思路和技术挑战。
最低0.47元/天 解锁文章
700

被折叠的 条评论
为什么被折叠?



