1.人物的创建
先将素材拖入Unity当中
而后将Sprite Mode改为Multiple方便修改,而后将Pixels Per Unit改为16(因为作者设置素材时就是使用它和Unity中的比例大概为1:16)
之后点击Sprite Editor修改为如此,这样子就会使其贴着小人进行剪切,当然也可以如下图二改为自己修改。
之后将Fileter Mode改为Point (不利用差值,因为已经是像素画了)以及 Compression改为none(不压缩画质)。
将摄像机缩小
然后把小人拖入Scene中
2.人物的移动
创建一个脚本命名为player拖入上节课拖入到Scene中的小人身上
脚本这么写 已经在之前提到过 这是利用Tranform直接修改位置 当然也可以利用刚体组件
那么就是是否要将Speed改为public,如果你是想私有但是在Unity中也可以修改的话 需要在上面添加一行 [SerializeField] (表序列化)。
接下来需要为其添加移动的动画 先创建一个放动画的文件夹Animations
顺便提一嘴如果你不喜欢这样的命名
可以点到素材里一个一个进行修改 在右下角Name那里
选中前八个 拖入在Scence中的小人
以此类推 八个八个的拖到小人身上 最终如下图创建四个
当然还有一个办法 因为我们发现左右动作其实都是对称的,其实可以利用翻转便可以 如下图 便可以实现向右走
但是现在会发现小人一直都是向下走的动画,所以我们需要在动画管理器中修改一下
建立一个空的动画 把它设置为默认
而后将四个动画先删除掉 并创建动画混合树 这样子可以通过参数去调整动画
点击进入混合树改为2D Simple Directional 这样子可以通过两个参数改变动画
添加四个方向
将四个动画拖入 并点击画面中间的➕添加两个变量
注意右边变量改为 x和y 而后把pos x以及 pos y改为对应的方向
将空动画和移动动画连接 因为可以互相转化 所以都需要镜头 并且添加一个bool类型的变量 IsWalk
之后点击箭头 设置Hit->Walk为Ture 相反为Fals 并且把Has Exit time 取消勾选 (它的意思是是否要等动画播放结束了再修改状态,当然不需要,因为我们要随时从Walk到Hit Hit到Walk)
Trans Durtion设置为0 要不然转换的时间都超过了你按下键盘的间隔
添加脚本
获取Animator组件
并且设置变量
写完之后会发现小人在随着移动之后 仍然会在最后回到指向前面 而不是停止在面向的方向,所以我们需要在写四个动画。
并且在Animator中添加一个新的混合树 按照上面说过的大差不差的设置
最后将它设置为默认状态,并且与Walk用箭头相互连接。把右边的条件从上面复刻下来,便可实现。
3.瓦片画板的设计
一共有三种方法
刚开始都是创建一个新画板
第一种方法就是直接将素材拖入其中
但是我们如此考虑的话会发现如果是要做边境和内部 会发现需要来回切换 所以很麻烦 就可以使用RuleTile
但是我们发现创建一个RuleTIle的话得点很多东西 所以又使用了一个OverRuleTile 就只需要拖入就好了
点击Sorting Player
建立这几个图层
先复制四个图层将其修改成对应名字
然后在Bottom填充悬崖 使其出现高度
接下来点击Top层级先对其添加与土地连接处,可是你会发现基本找不到十分吻合的,这时候我们可以考虑修改TransForm的x坐标 进行平移(记住是top层级的)