- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
后期遇到问题以及解答
后期遇到问题以及解答
分类: 项目开发流程详解 2008-10-06 14:47 373人阅读 评论(0) 收藏 举报
1. 建立一个无返回值的lauchFrame()方法来完成画框架
框架 800*600
颜色 lightGray 浅灰色
不可以改变大小
初始化显示位置 调用Component里面的setLocation(x,y);
2. 通过paint(Graphics g)来画出圆。
调用g.fillOvar(x,x,width,height);
3. 通过双缓冲技术来实现坦克画面动起来不流畅的感觉
坦克动起来,采用线程技术(线程用内部类表示),每间隔50MS重画一次画面, 重画 采用repaint();
调用update(Graphics g)
1. 画一个800,600的iamge
2. 在图片上面画一个跟主窗体一样大方形
3. 调用paint(Graphics g)来画坦克(也就是圆)
注意: 在IMAGE上面画方块的时候一定要和主体窗口一样大,要不回出现画一长条粗线的状况。
技巧: 把所有数字都用变量代替,修改起来方便
4. 定义接收键盘的内部类
KeyMonitor extends KeyAdapter
5. 定义坦克自己的类,并且定义自己接收键盘按下事件。
6. 如何让坦克朝八个方向走
1. 把每一个按下事件用一个BOOLEAN值记录下来,当按下是就把值设置为TRUE,否则FALSE;
2. 在定义一个枚举enum设置八个值记录下八个方向,再用switch来确定该往那里走。
3. 利用switch来确定enum中的哪个方向,
当按下的时候把值设置为true当键盘弹起是把值设为false;
7. 画出子弹,运用面向对象思维,定义一个子弹类,
通过坦克的方向来确定子弹的方向,定义一个move方法来接收移动参数。
定义一个容器保存子弹,按下CTRL时加入子弹,当子弹出界的时候就在容器里面移除删除。
8. 坦克被打中时消失。
给子弹和坦克定义一个Rectangle返回值的方法, 在子弹类里面检测两个方法是否有接触。
当接触了后就把坏坦克从坏坦克容器里面移除。
在坦克里面定义一个boolean值代表坦克是否活着,当坦克活着的时候值为true;当坦克死了之后值为false;
注意: 机器坦克在Rectangle返回值的方法里传入的是机器坦克容器,
主战坦克在Rectangle返回值的方法里传入的是主战坦克引用
9. 坦克死掉后子弹也死亡。
为子弹设置一个boolean值代表子弹的死活,当子弹活着时为true;子弹死了后值为false;
10. 坦克死掉后有爆炸产生,定义一个爆炸类在类。
难点, 爆炸需要在子弹与坦克相撞的地方发生,
在tankClient里面定义一个装爆炸的容器,采用ArrayList 和 LinkedList在这里的效果差不多。
在子弹类里面的getRect()方法里面调用爆炸类容器没相交一次就往里加一个爆炸,接着在tankClient里面画出来。位置就是坦克和子弹相交的地方。
11. 坦克 和子弹 不能跑出屏幕
当子弹跑出屏幕的时候让它消亡
当坦克跑出屏幕的时候要它呆在屏幕边缘不给出去,
坦克具体做法, 当坦克小于边缘坐标时让坦克等于边缘坐标,当坦克大于边缘坐标时,让它等于边缘坐标。
12. 机器坦克发射也发射子弹,并且子弹不会伤到自己方。
在创建子弹时指定好坏蛋,在子弹构造方法里面加入,
当坏子弹碰到坏坦克时在子弹里面的hitTanks(ListTank tank)里面加入一个判断,判断是否是友方发出的如果是,就不死亡,反之。
13。 出现问题 注意:
1.当坦克死亡之后,坦克还可以发射子弹。
在坦克里面的fire方法中加入 当坦克死亡时返回null,而不是继续往里加子弹
2. 当坦克死亡后,机器坦克打坦克死亡的地方时,还是会出现爆炸,这是由于在Missile类里面没有判断主战坦克死了以后该怎么处理,在判断语句里面加上一句当坦克死亡的时候不能产生爆炸。
14. 给当前游戏添加一堵不可穿越的墙壁,
墙也是一个对象,把墙单独设置成为一个类。 在墙里面也设置一个碰撞类, 在坦克类里面调用, 用两个变量记录前一个X,Y的值,当坦克碰到墙壁时,把坦克的X,Y值赋值为前一个X,Y的值。
随机生成墙壁:在墙壁里面建立一个方法,方法里面定
您可能关注的文档
最近下载
- 持续推动党的创新理论体系化学理化PPT坚持两个结合把握六个必须坚持PPT课件(带内容).pptx VIP
- 第五章幼儿园主题活动的环境创设.pptx VIP
- 中达a600变频器说明书.pdf VIP
- 校园欺凌与初中生心理健康教育的协同发展策略教学研究课题报告.docx
- 老板电器应收账款及优化探究.docx VIP
- 一种柔性翻身多功能护理轮椅床.pdf VIP
- 小学英语与初中英语教学的衔接教学研究课题报告.docx
- 2025【阶跃阻抗低通滤波器的电路模型构建及其参数探析12000字】.docx VIP
- 2025中国银河证券校园招聘5人笔试历年参考题库附带答案详解.docx VIP
- 参加活动的意义班会.pptx VIP
原创力文档


文档评论(0)