通过上一节,我们学会的用java绘图.那现在就用java绘制自己坦克. 首先通过分析坦克由这几部分组成.如图 各个部件的长宽如图.15,10为圆心. /** * 坦克游戏的1.0版 * 1.画出坦克 * */ package com.test1; import javax.swing.*; import java.awt.*; import javax.swing.JFrame; public class MyTankGame1 extends JFrame { MyPanel mp = nul…
3 添加坦克 3.1 本节效果预览   3.2 另存新场景 首先打开上次的场景s1,另存为s2,放到同一个文件夹下面.   3.3 添加坦克模型 在Model文件夹下面找到Tank模型   将Tank拖放到Hierarchy里面   选中Tank,在Inspector面板里面设置Layer为Players   在弹出的面板里面选择No,this object only.   在后面章节子弹碰撞检测的时候需要检测一定范围之内有没有坦克,就是通过判断这个Layer是否为Players来实现的. 3.…
分布式全局ID生成器作为分布式架构中重要的组成部分,在高并发场景下承载着分担数据库写瓶颈的压力. 之前实现过PHP+Swoole版,性能和稳定性在生产环境下运行良好.这次使用Java进行重写,目前测试情况表现还不错,下面我简要介绍下java版的项目情况.   技术架构:Netty + Zookeeper + Redis Protocol Netty:是一个基于NIO的客户.服务端编程框架(类似于swoole).使用netty作为服务端应用接收客户端请求,对Redis协议数据进行编解码,响应red…
在上篇我们完成了子弹和地图碰撞的检测,在这篇我们将完成敌方坦克AI的编写. 具体思路是屏幕中保持有四个敌方坦克,然后坦克随机方向运动,并且子弹消失后1秒发射一次 1.我们新建一个敌方坦克的AI类来控制地方坦克AI行为: static const char* enemyTankType[] = { "normalU.png", "speedU.png", "armor1U.png" }; class EnemyAI { public: EnemyA…
要能够控制坦克运动,必须用到事件处理的知识. 事件处理的一个demo. /** * 事件处理机制:委派事件模型.指当事件发生的时候,产生事件的对象(事件源),会把此 * "消息"传递给"事件的监听者"的一种处理方式,而这里的"信息"指java.awt.event事件类库种 * 某个类创建的对象. 在java种,消息 是一种事件对象. * * * 事件源-----事件(一个事件对象)----->事件监听者[事件处理方法] */ package…
上篇我们完成了简单的AI编写,但是各个坦克移动时之间是可以重合的, 这节课我们来完成坦克之间的碰撞检测,还是在上篇的EnemyAI中完成. 1.我先现在坦克类Tank中添加两个成员变量: CC_SYNTHESIZE(CCRect, mMovedRect, MovedRect); CC_SYNTHESIZE(bool, IsBlock, Block); mMovedRect是移动后的位置,目的是保存移动后的位置来检测碰撞, 如果发现与其他坦克碰撞了,则不执行移动动作: IsBlock是用来标记坦克…
[toc] 分析 飞机大战 首先对这个游戏分析,在屏幕上的物体都是飞行物,我们可以把建一个类,让其他飞行物继承这个类.游戏中应有英雄机(也就是自己控制的飞机).敌人.而敌人应该分为打死给分的飞机(就是普通飞机),另一种就是打死有奖励的敌人.他们都应该是飞行物的子类,我们也可以为普通飞机和给奖励的敌人设一个接口让他们去实现接口,这样有利于以后的扩展,我在这里给的简化版的飞机大战,主要是为了让大家了解面向对象. 第一步建立飞行物类 import java.awt.image.BufferedImag…
引言:在图形绘制中,控制一个图形(圆形,椭圆形,矩形,三角形)移动时,其实计算的都是该图形的中心点移动.在绘制过程中,首先计算出中心点,然后根据中心点的位置计算重图形的上下左右位置.我们假设图形左边为lx,图形右边为rx,图形上边为ty,图形下边为by,图形的中心点位置坐标为(cx,cy).手指触摸位置坐标为(x,y) 计算公式: lx = x - cx; rx = x + cx; ty = y - cy; by = y + cy; 下面是控制图形移动的具体代码: GameView.java p…
@ 目录 前言 Plane PlaneStatus类 Power类 Gift Diji play类 over类 MainFrame主类 MyZiDan DijiZiDan Before 前言 很久之前整理的小东西,这个是从我个人博客网站拷过来的地址 下面是源码 Plane package com.trhsy.cn.plane; import javax.imageio.ImageIO; import java.awt.*; import java.awt.event.KeyEvent; impo…
本文来自:小易博客专栏.转载请注明出处:http://blog.csdn.net/oldinaction 在此小易将坦克大战这个项目分为几个版本,以此对J2SE的知识进行回顾和总结,希望这样也能给刚学完J2SE的小伙伴们一点启示! (此版本基本上就可以和电脑对打了,不信把源码放到你的电脑上就可以马上开启坦克大战之旅哦) 坦克大战V0.5实现功能: 1.产生一个敌方坦克 2.将敌人坦克击毙,相应的子弹和坦克都消失 3.添加爆炸效果 4.添加多辆坦克,并能够打掉敌方坦克 5.让敌方坦克可以随机运动,…