虚拟摇杆EasyTouch

对于移动平台上的RPG类的游戏,我们常用虚拟摇杆来控制人物角色的行走和一些行为,相信我们对它并不陌生,之前尝试了EasyTouch2.5,发现并没有最新版的3.1好用,2.5版本的对于自适应没有做的很好,而最新版的已经解决了这一问题。当然unity也自带了摇杆Joystick,用起来也简单,但存在不少局限,不会满足普通mmo游戏的需求,比如指定显示区域或者是更改一些素材等等,而这些EasyTouch插件都已经帮你实现,不得不佩服插件的原作者,能做出这么炫酷好用的插件,当然这估计是老外开发的,关于插件的下载,你可以在AssetStore上购买,当然也可以使用free版。

我这里也提供一个3.1版本的插件下载地址: <http://download.csdn.net/detail/s10141303/6962919

一、效果图

感觉很酷有木有!接下来就看一下创建的过程吧!

二、操作步骤

1.官方文档上的步骤

Quick Start (C#)

1-Import EasyTouch Package.

2-Create an empty gameObject, and name it EasyTouch.(You can choose another
name)

Step 1 & 2 can be replace by the option menu

3-Add the EasyTouch.cs script on the EasyTouch gameObject that you just
created.

4-Select the EasyTouch gameobject, and verifies that Broadcast messages is set
to FALSE in the inspector.

5-Create a new C# script MyFirstTouch

6-Add these methods

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
// Subscribe to events



void OnEnable(){



EasyTouch.On_TouchStart += On_TouchStart;



}



// Unsubscribe



void OnDisable(){



EasyTouch.On_TouchStart -= On_TouchStart;



}



// Unsubscribe



void OnDestroy(){



EasyTouch.On_TouchStart -= On_TouchStart;



}



// Touch start event



public void On_TouchStart(Gesture gesture){



Debug.Log( "Touch in " + gesture.position);



}

7-Create an empty gameObject, and name it Receiver.

8- Add MyFirstTouch script to the gameObject Receiver.

9- Run it in editor, and click on the screen

2.翻译一下以上的步骤

1.import“EasyTouch”资源包

2.创建空物体,命名为EasyTouch(当然你也可以改成其他名字)

3.添加EasyTouch.cs脚本在刚刚创建的空物体(EasyTouch)上

4.选择改物体但不要将BroadcastMessages勾选

5.创建一个新的C#脚本,命名MyFirstTouch

6.添加这些方法

7.再创建一个空物体,命名为Receiver

8.将MyFirstTouch脚本添加到空物体Receiver上

9.运行并且点击遥感,会发现控制台打印了当前按下的坐标

3.根据官方的这些提示,自己来做一个属于自己的人物遥感控制

1.导入EasyTouch3资源包

2.做好前期准备,包括人物模型、地形的创建

3.添加JoyStick实例:Hedgehog Team-Easy Touch-Extensions-Add a new
Joystick。此时就会在左下角创建了虚拟遥感的实例。

4.设置遥感的相关参数

.创建脚本MoveController.cs用来接收遥感事件控制角色的移动

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
using UnityEngine;



using System.Collections;



public class MoveController : MonoBehaviour {



    void OnEnable()



    {



        EasyJoystick.On_JoystickMove += OnJoystickMove;



        EasyJoystick.On_JoystickMoveEnd += OnJoystickMoveEnd;



    }



    //移动摇杆结束



    void OnJoystickMoveEnd(MovingJoystick move)



    {



        //停止时,角色恢复idle



        if (move.joystickName == "MoveJoystick")



        {



            animation.CrossFade("idle");



        }



    }



    //移动摇杆中



    void OnJoystickMove(MovingJoystick move)



    {



        if (move.joystickName != "MoveJoystick")



        {



            return;



        }



        //获取摇杆中心偏移的坐标



        float joyPositionX = move.joystickAxis.x;



        float joyPositionY = move.joystickAxis.y;



        if (joyPositionY != 0 || joyPositionX != 0)



        {



            //设置角色的朝向(朝向当前坐标+摇杆偏移量)



           transform.LookAt(new Vector3(transform.position.x + joyPositionX,
transform.position.y, transform.position.z + joyPositionY));



            //移动玩家的位置(按朝向位置移动)



            transform.Translate(Vector3.forward * Time.deltaTime * 5);



            //播放奔跑动画



            animation.CrossFade("run");



        }



    }



}

几个函数的执行顺序:

6.效果图

7.创建点击按钮

点击HedgehogTeam-EasyTouch-Extensions-Create a new Button,会在屏幕右下角创建一个button

如何让有下角的按钮点击能做出我们想要的效果呢?

jump方法:

然后点击一下按钮,人物就会跳跃动作!

其他教程:

<http://blog.csdn.net/janeky/article/details/17364903

<http://www.newbieol.com/information/564.html

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×