多语言展示
当前在线:955今日阅读:168今日分享:49

unity 2d游戏从头做起—实现猪脚移动

塞尔达传说,rpg的经典,我们以他为例子从头来做rpg游戏这一章实现猪脚的移动和行走动画。
工具/原料
1

一台电脑

2

unity4.0

方法/步骤
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();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,这章完成了!下章我们来设置地图。

推荐信息