上节我们实现了踩机关开门的场景交互,这次试一下敌人的创建。按照惯例,官方教程网址:2D 游戏套件演练 - Unity Learn
一、设置敌人
资源包中提供了俩敌人的预制件。一个咬人的一个吐痰的。吐痰怪因为时远程攻击,所以要设定一个视野的攻击范围,预制件已经给我们设计好了,如下图,点击吐痰怪,绿色部分就是它的视野范围,进入这个范围它就会使用浓痰攻击!
吐痰怪的攻击脚本是比较普遍需要实现的功能,以后做自己的怪物可以参照。
二、用箱子砸死怪物
利用场景来对怪物造成伤害也是游戏中一个比较常见的操作,让我们看看2DGameKit中是如何实现的。
首先找到箱子存放的位置,将其拖到一个高台,并在下方准备一个怪物用来测试。
点击Scene中的箱子对象,在它的Inspector栏中为他添加一个资源准备好的伤害脚本Damager,如下图。
随后就能看到箱子旁出现了绿色的碰撞框,拖动绿点可以调节碰撞范围。
再将脚本中的伤害对象设置成敌人,
这样就设置好啦,运行游戏测试一下吧。
三、传送角色
游戏中时常有传送门、和场景之间的相互切换,接下来我们尝试实现这个功能。
在Project窗口中找到TransitionStart预制件。位置:Prefabs > SceneControl
(一)场景内传送
我们将第一个TransitionStart拖到门后,然后将另一个TransitionStart放到要传送的位置。
-
在 Hierarchy 中,选择 TransitionStart 游戏对象
-
在 Inspector 中,找到 TransitionPoint 组件
-
将 Ellen 游戏对象从 Hierarchy 拖入 Transition Point 组件的 Transitioning Game Object 字段
-
将 Transition Type 设置为 Same Scene
然后我们设置目的地。
-
将 TransitionEnd 游戏对象拖入 TransitionPoint 组件的 DestinationTransform 字段
-
将 Transition When 设置为 On Trigger Enter
On Trigger Enter 表示仅在玩家进入碰撞体时(而不是按键时)激活过渡。如果你希望仅在玩家按下交互键 (E) 时才进行传送,请将 Transition When 设置为 Interact Pressed。
(二)不同场景传送
创建一个新的TransitionStart,这个预制件中的Transition Point存了要传送对象的各种属性,其中有一个TransitionDestination组件,其内的各种字符是通道的意思,它会将角色传送到另一个场景的通道A中。
创建一个新的场景,打开该场景,导航到 Project 窗口,然后选择 Prefabs > SceneControl > TransitionDestination。将此预制件放置在场景中你希望传送器到达的位置。
TransitionDestinaton 预制件包含一个 Scene Transition Destination 组件:
-
首先,将 Destination Tag 设置为一个字母。具体设置为哪个字母不重要,只要具有该字母的这个 Scene Transition Destination 组件在场景中具有唯一性即可。
-
下一步,指定应该接收哪个游戏对象。将玩家游戏对象 (Ellen) 从 Hierarchy 窗口拖到 Transitioning Game Object 字段。
-
最后,确保你的目的地场景位于编辑器的 Build Settings 中。为此,请选择 File > Build Settings,然后单击 Add Open Scenes。