Unity官方案例篇:Space Shooter Tutorial全解读(玩家的控制以及敌人的AI)

版权声明:转载请注明出处!不注明也无所谓,嘿嘿。 https://blog.csdn.net/qq_15020543/article/details/82899771

之后是玩家的控制脚本,我这里改了一下,让飞船自动发射子弹。并且给它设置时间间隔。逻辑很简单,一看就懂。飞船的移动和倾斜是通过Rigidbody来实现的。

第43行的代码意为将飞机的移动限制在碰撞盒中,并且随着飞船的移动机身会倾斜。

然后是我们的重头戏,敌人的AI,在这个案例中,障碍物(陨石)是直来直去的非常容易躲避,但敌人却有着会自主朝玩家方向移动并且发射子弹的AI。这无疑增加了游戏的可玩性。

在开始讲解AI之前,我们先来看游戏的坐标轴信息

玩家在开始游戏时所在位置为Vector3.zero

接下来是它的代码

先总体看一下,利用协程来进行偏移目的地的生成,以及确定两次偏移之间的时间间隔。通过FixedUpdate来进行游戏物体位置以及rotation的更新。

先来看一下里面用到的的API

我们开始看代码

1.第28行,依据敌人自身所在位置,朝着玩家所在方位偏移。

2.第38行,目的是让敌人在Z轴方向保持原来的速度,在X轴方向施加速度,来达到偏移的目的。

3.第41 ,43行,目的是限制敌人,防止敌人漂移出屏幕,bundary的值在Inspector面板有设置。由于Bundary类已经序列化,所以下次载入游戏物体的时候,值还是之前的值。

好了,这个案例的解读就到此为止,下面我们进行优化跨平台移植

猜你喜欢

转载自blog.csdn.net/qq_15020543/article/details/82899771