unity 2d游戏从头做起—实现猪脚移动
1、首先我们要准备四张下面的图片分别为猪脚四个方向的行走图。




2、如下图我们将sprite mode 设为multiple 然后点击sprite editor 进行分割,在sprite editor界面我们点击slice 他会进行自动分割,分割完成点击apply就可以了。注意,filter mode 要选择point模式否则图片就会变得模糊,就向下面一样。同样对其他的行走方向图进行设置。


3、OK,我们点击向下行走的图片的右边的小三角,展开图片,就看到我们分割出的图片,选中他们拖拽到场景中,就会自动生成一个anmiator和一个动画片段,我们分别命名为“walk”和“down”。并将该物体命名为player。
并为player添加rigidbody2d组件,将重力设为0。



4、然后将其他的行走方向转中,这次是拖拽到左侧player上面,将生成的动画分别命名为up、left、right。
5、并且我们双击walk打开动画控制器,他已经自动添加了我们四个方向的动画。
我们在左下方添加一个int变量direction。
在any state上右键添加如图的transition。


6、在转换条件中我们选择direction分别等于0、1、2、3。

7、下一步,我们创建脚本,将它附给player代码如下:

8、public float speed =3f;
此变量控制奔跑的速度。
9、Vector2 a= new Vector2(Input.GetAxis ("Horizontal")*speed,Input.GetAxis ("Vertical")*speed);
简单的创建了二维变量a,根据输入的按键判断值的大小。
rigidbody2D.AddForce (a);
然后施力给猪脚让猪脚动起来。
10、Animator an=GetComponent<Animator>();
if (an) {
if(Input.GetKey(KeyCode.UpArrow)){
an.SetInteger("direction",3);
}
if(Input.GetKey(KeyCode.LeftArrow)){
an.SetInteger("direction",1);
}
if(Input.GetKey(KeyCode.RightArrow)){
an.SetInteger("direction",2);
}
if(Input.GetKey(KeyCode.DownArrow)){
an.SetInteger("direction",0);
}
}
我们获取创建的walk动画控制器,还记得direction变量吗,
当按下上键时设置他为3。以此类推。
11、ok,这章完成了!
下章我们来设置地图。
