Unity 飞机大战增强版


简介:

感谢:

本应用使用《Unity3D\2D手机游戏开发》提供的资源,版权归属其作者,在此感谢作者。此应用时基于原作的二次开发。

增强要素:

1.加入2s cd的机身旋转,旋转时保持无敌状态,人挡杀人。。。

2.加入0,5s cd的跟踪导弹,导弹随机打击目标敌人。

3.加强小飞机AI,小飞机拥有三种飞行模式,直线,sin曲线,以及追踪玩家。以不同概率随机选择飞行模式。

技术要素:

1.对于玩家飞机,采用简单switch-case有限状态机。

2.对于小飞机AI则使用RAIN AI 行为树。

3.书中源程序包升级为unity5.0,并消除了升级出现Mesh trigger bug。


player部分状态机源码

         void Normal(){
		if (Input.GetMouseButton (1)) {
			state=PlayerState.Arounding;
		}
	}
	void Shoot(){
		m_superRate -= Time.deltaTime;
		if (m_superRate <= 0) {
			m_superRate=0.5f;
			Instantiate (m_srocket, m_transform.position+new Vector3(0.5f,0,0), m_transform.rotation);
			Instantiate (m_srocket, m_transform.position+new Vector3(-0.5f,0,0), m_transform.rotation);
		}
		
		m_rocketRate -= Time.deltaTime;
		if (m_rocketRate <= 0) {
			m_rocketRate = 0.1f;
			
			if (Input.GetKey (KeyCode.Space) || Input.GetMouseButton (0)) {
				Instantiate (m_rocket, m_transform.position, m_transform.rotation);
				m_audio.PlayOneShot (m_shootClip);
			}
		}
	}
	void CoolDown(){
		m_around -= Time.deltaTime;
		if (m_around <= 0) {
			m_around = 1f;
			state=PlayerState.Normal;
		}
	
	}

EnemyAI行为树:


注意事项:

1. plane triangle mesh unity5.0 不支持trigger

2.RAIN AI ai 的body 的transform 是一份拷贝文件,修改它无法移动游戏对象,可以使用ai.motor.moveto

github地址

https://github.com/RonTang/ShootingGamex/

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值