网站站内交换链接怎么做,新手怎么搭建网站,中国式现代化推进中华民族伟大复兴,玉溪市住房和城乡建设局网站本文参考#xff1a;
如何制作游戏#xff1f;【不需要编程 __】新手30分钟 学会制作2D游戏#xff01;_ 如何制作游戏 _ unity教学 _ 制作游戏 _ 2d游戏_哔哩哔哩_bilibili 1、下载2d game kit
新建一个unity工程#xff0c;进入该工程后#xff0c;在Window - Ass…本文参考
如何制作游戏【不需要编程 __】新手30分钟 学会制作2D游戏_ 如何制作游戏 _ unity教学 _ 制作游戏 _ 2d游戏_哔哩哔哩_bilibili 1、下载2d game kit
新建一个unity工程进入该工程后在Window - Asset Store中搜索 2d game kit。
然后下载导入到Unity中。
此时会报错报错信息类似如下 Assets\2DGamekit\Utilities\Editor\RuleTileEditor.cs(69,10): error CS0433: The type RuleTile exists in both Assembly-CSharp, Version0.0.0.0, Cultureneutral, PublicKeyTokennull and Unity.2D.Tilemap.Extras, Version0.0.0.0, Cultureneutral, PublicKeyTokennull
这是因为在导入的2d game kit和使用Unity 2D创建的项目中出现了相同的类名RuleTile。
此时使用对2D Game Kit中重名的文件进行重构。
具体参考Unity 导入项目报错: error CS0433: The type ‘RuleTile‘ exists in both ‘Assembly-CSharp, Version0.0.0.0,..._the type jsonmapper exists in both assembly-csh-CSDN博客
2、 启动第一个demo
1在Kit Tools下选择Create New Scene 2点击Create后就会自动导入Scene如下图所示 点击启动就可以运行Game了运行用到的按键罗列如下 空格跳起来
S蹲下来
O发射子弹
K用刀横扫千军
3、设计场景scene
3.1必备知识
3.1.1打开scene light 否则场景下会非常昏暗。
3.1.2移动场景
有时候scene是非常长的此时设计时需要移动场景
可以Alt鼠标左键 进行拖动或者鼠标右键进行拖动。
3.1.3移动玩家
有时候场景设计了很多的元素每次测试时不可能让玩家从头开始玩此时可以将玩家移动到新设计的场景中测试新设计的场景即可。
选择左上角的Move Tool然后框选玩家 拖动到指定的位置。 3.2选择瓷盘托盘
位置Window - Tile Palette 有两种类型可供选择 使用时鼠标左键选择图片然后鼠标在Scene中移动时就会拖着那个图片了在scene中鼠标左键拖拽即可添加该图片。如果想要删除图片则Shift按住鼠标左键拖拽即可实现删除。 我简单地创建了如下的示例 3.3选择场景元素
位置Assets - 2DGamekit - Art - Sprites - Environment 我简单地创建了如下的示例 3.4添加陷阱
场景元素位置Assets - 2DGamekit - Prefabs - Environment Acid是毒液当玩家掉下去的话就会死掉。 Spikes是尖刺当玩家碰到之后就会扣血。 3.5添加移动平台
位置Assets - 2DGamekit - Prefabs - Interactables 添加后可以设置移动的距离以及方向 添加完毕之后的测试效果 接下来添加自定义多Node的移动平台。 在组件中选择Add Node就可以添加多段的移动路径了选择Preview position可以预览移动的路径。
在该组件中Is Moving At Start是未被勾选的这就意味着该移动平台一开始并不会移动需要另一个组件触发一下。 选择SingleUseSwitch然后在该组件的On Enter()事件处理中添加Moving Platform对象并为该对象指定StartMoving函数。 3.6添加可摧毁的墙
位置Assets - 2DGamekit - Prefabs - Interactables选择DestructibleWall 在右侧的属性栏中设置Starting Health的值决定需要击打的次数。
3.7添加门可关闭和打开 位置Assets - 2DGamekit - Prefabs - Interactables选择Door但是这个门是不会自动打开或者关闭的。
需要添加PressurePad来控制的门的打开或关闭对PressurePad的操作如下
首先选中PressurePad在Boxes的On Pressed()中添加新的事件。 其次将Door对象拖入新增的事件的对象参数中如下图所示 接着选择该事件的函数为Animator - Play(string) 然后输入Play的入参为DoorOpening如上上一张图所示。
该参数对应的动画位于Assets - 2DGamekit - Art - Animatiions - AnimationClips - Interactables下。
下面就是玩家踩中PressurePad时门打开的场景 3.8创建敌人
位于Assets - 2DGamekit - Prefabs - Enemies有两种敌人可供挑选
Chomper这个是近战的敌人Spitter这个是远程攻击的敌人 Chomper的参数设置
初始化的Chomper如下青色的圆圈代表它的视野范围 可以通过View Fov参数调节它的视野角度只让它看到前方的物体。
通过View Distance参数可以调节视野的远近。 3.9可推动的box
位于Assets - 2DGamekit - Prefabs - Interactables选择pushtableBox 此时在Scene有一个可以推动的box但是并不会对敌人产生伤害。 该box会一直在敌人的上面但是没有对敌人产生伤害。
此时需要
1给pushtableBox添加组件Damager脚本
2修改offset、size的大小如下
3hittable layers选择可伤害的对象为Enemy 3.10收集钥匙打开门
首先在Assets - 2DGamekit - Prefabs - Interactables下选择Door和Key如下图所示 此时在游戏中碰触Key和Door都不会有任何反应。
接着Assets - 2DGamekit - Prefabs - UIPrefabs中添加KeyCanvas到Hierarchy的UI下。运行游戏后就会在Scene的右上角出现3个key。 然后我们需要实现碰触Key后就收集Key的功能。
我们先看一下主角Ellen可以占有的道具在Inventory Controller脚本下可以看到所有的道具名称。 在Key对象下添加Inventory Item的脚本在脚本中进行如下配置 Inventory Key的名称设置为Key1刚好对应主角可以获取的道具名称。
Layers设置为Player表示只有玩家才能获取key
Disable On Enter勾选一下表示key被获取就消失掉
Clip是获取一瞬间的音效
在Circle Collider 2D的脚本中radius调整下大小。 最后实现收集钥匙后打开门的功能。 添加key1触发事件的对象以及行为。
3.11添加加血包
位置Assets - 2DGamekit - Prefabs - Interactables选择HealthPickup。 只有在玩家掉血了之后该加血包才会触发生效。
3.12传送门
位置Assets - 2DGamekit - Prefabs - Interactables选择Teleporter。 然后需要通过设置告诉传送门把谁移动到哪里。
1在游戏刚开始的位置再添加一个传送门这个就是目标位置。 2配置Teleporter的Transition Point脚本 3.13对话框
位置Assets - 2DGamekit - Prefabs - UIPrefabs添加DialogueCanvas到Hierarchy的UI下。 假设让Teleporter说话那么针对Teleporter添加Interact On Button 2D的脚本。 Layers就是只针对玩家才说话说话的内容默认情况下不支持中文。
On Enter配置事件信息就是触发DialogueCanvas说话函数配置为 路漫漫其修远兮在U3D的道路上吾将上下而求索~~