新手开始做雷电飞机,记录下历程,每天进步一点点。
小哥哥
小哥哥 2406 9
精华加亮 未分类 2016-02-20 05:39
雷电这种游戏算是小游戏,因此没有大的构架去设计
大概的思路是这样:

图片:1.png

图片:33.png

1条评分, 鲜花+10
分享:
游客
要评论请先登录 或者 注册
小哥哥 学者 2016-02-20 05:51 1楼
应用2D TOOLKIT框架,背景移动设计,就是两张同样的背景图叠加起来就行,这样不停往下移动,当下面的一张移动不可见的时候,把它移动最上面,这样不停循环造成背景滚动。为了增加效果,可以加上岩石效果,这样设计,每3秒钟就掉落一块岩石下去,掉下去的岩石记得销毁。岩石的大小和图片自定义设计:

tk2dSprite td=stone.GetComponent<tk2dSprite>();
td.SetSprite(Random.Range(4,15));
GameObject st =(GameObject)Instantiate(stone,new Vector3(Random.Range(-5,5),9.0f,-1),Quaternion.identity);  

图片:2.png

图片:3.png

小哥哥 学者 2016-02-20 05:56 2楼
为了程序完成的更好
可以适当先完成主要功能的编写
1:Play的发射、移动,选择好飞机模型,并编写代码

图片:1.png






 if (Input.GetKey (KeyCode.DownArrow)) {
 transform.Translate(Vector3.down*3*Time.deltaTime);
 }
 if (Input.GetKeyDown (KeyCode.A)) {
 GameObject gb =(GameObject)Instantiate(bullet,bulletPos.transform.position,Quaternion.identity);
 gb.transform.GetComponent<Rigidbody>().AddForce(200*Vector3.up);
 }
小哥哥 学者 2016-02-20 06:04 3楼
敌机发射炮弹或者火箭的方式:一般来说有几种方式,


这也就是Interface中的 void  fire()不一样了,Interface声明接口就行,具体的实现由子类去实现各种不同的发射状态。
比如固定方向直接向前方开火。
StartCoroutine (Lineluanch(0.02f)); 0.02是间隔发射时间。


图片:1.png





2:固定方向直接扇形区域开火。
可以在线程调用StartCoroutine ( circleLaunch(0.02f)); 0.02f炮弹间隔发射的时间,

图片:1.png


3:变换方向向目标开火,比如地面防空炮弹,目标一直指向PLAY玩家,(不论玩家是否处于运动或者静止),并且开火,这样的话无需写扇形区域开火,方向移动就能可以形成区域开火。


图片:1.png

小哥哥 学者 2016-02-20 06:29 4楼
为了敌机和敌机接触的时候不爆炸,子弹和子弹接触的时候也不爆炸,因此需要设计layer关系,设置两之间没有碰撞检测。
小哥哥 学者 2016-02-20 08:49 5楼
基本大体的实现上完毕了。
进入代码编写阶段


先进入游戏选择飞机类型。。。

图片:1.png

小哥哥 学者 2016-02-20 11:09 6楼
给飞机添加上效果护罩,两道光圈绕着飞机转动,里面有道蓝色的护罩,比如按下某键开启护罩,抵挡伤害。

图片:2.png




可以适当在场景内偶尔产生血量 加攻击 这些元素。


图片:2.png

小哥哥 学者 2016-02-20 13:38 7楼
基本完成了,除了数据处理部分,这部分简单了。
用个场景管理去设计,随机产生各种敌人。这个项目暂时到此为止,因为剩下的就是添加游戏效果了,爆炸音效,动画等等。

图片:2.png

jietoulanqiuhao 新手 2016-03-19 16:55 8楼
好好搞, 加油吧。
noflyzone 学徒 2016-04-05 11:40 9楼
支持你 你的图片是用什么画的
返回顶部