用2d-kit创建一个新的2d场景
运行,并按下F12,可看到提示框,再次按下可以取消
打开Tile Palette
选择TilesetGameKit
随意选择一种地图块并进行绘制
可将Art下Sprite里的精灵直接拖拽至场景中构建地图
选择Ellen,在Inspector中可以看到Damage’able和Dameger两个脚本组件,这两个组件确保主角Ellen可以受到伤害和早成伤害
将prefab中Environment的两个预制体拖拽至场景中
查看spikes的Inspector,Damager组件确保可以造成伤害
查看Acid的Inspector,同样有Damager,还有一个WaterArea脚本用于调整Acid的大小
运行可看到主角受到spikes和Acid伤害的效果
将移动跳板拖拽至场景
跳板移动路径和终点可随意调整
查看跳板的Inspector运行场景可看到跳板移动效果
将destructable拖拽至场景
查看他的子对象的Inspector,发现也有可受伤害的Damegeable的脚本
运行并操控Ellen攻击可看到效果
将Door跟PressurePad拖拽至场景
运行发现踩下PressurePad,Door并没有打开
查看PressurePad的Inspector,有个PressurePad的脚本组件,该组件决定了按下或松开时会发生的事件
添加一个事件后将Door推向拖拽进来
并选择Animator里的Play(String)
填写事件要运行的动画片段名字
运行,发现踩下时门也会打开
将敌人Spitter拖拽至场景中
查看他的Inspector,有个Enemy Behaviour脚本。用于控制敌人的行为
将PushableBox也拖拽至场景中
将PushableBox推下,并没有对敌人造成伤害,这是因为PushableBox没有可造成伤害的Damager脚本
添加之
调整包围盒把PushableBox包围
然后将Damager里的HIttable Layers选择为Enemy,如果选择其他Layer,就对该Layer里的对象造成伤害
将HealthPickUp拖拽至场景中
如果主角Ellen掉血,触碰时会补血,若主角满血,则不触发
将MovingPlatform拖拽至场景中
在Inspector中,有个Moving Plaform脚本组件,选择Add Node增加移动节点
效果如图
将SingleUseSwitch拖拽至场景中,完成触发后MovingPlatform才移动的效果
查看他的Inspector,有个Interact On Trigger 2D脚本,用于管理触发
将MovingPlatform拖拽至脚本中,并选择StartMoving()事件
回到MovingPlatform的Inspector中,取消Start Moving的勾选,这样MovingPlatform就不会在游戏一运行就移动,而是等到SingleUseSwitch被触发才移动
运行,触发SingleUseSwitch,可看到效果
将Key拖拽之场景
添加Inventory Item脚本,并如图设置属性
Inventory Key的名字在Inventory Controller中先设置,然后这里的名字要跟预先设置的一样
这样才能判断拾取得到是什么,然后再触发相应事件
回到Ellen的Inspector中,所有的拾取属性都在这里设置
设置当拾取Key1时门打开
将KeyCanvas拖拽之Hierarchy中
运行场景,可看到
拾取钥匙后,可看到
查看Canvas的Inspector,可以看到Key UI脚本组件,用于控制上图的UI