首页 > 代码库 > unity 3d-Easy Touch 3教程 转

unity 3d-Easy Touch 3教程 转

Easy Touch 教程

转自:http://www.unitymanual.com/thread-31332-1-1.html

1.import “Easy Touch 3”的资源包
2.创建人物模型
3.创建地形
4.添加一个Joystick的实例 :Hedgehog Team->Easy Touch->Extensions->Add a new Joystick。这时我们可以看到它在左下角出来
5.设置摇杆的相关的参数,详见下图


6.新建一个脚本MoveController.cs 用来接收摇杆的事件,控制角色的移动。代码如下:

[AppleScript] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
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
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")
        } 
    } 
} 



完成收工,具体的效果图


最后我们来看看Easy Touch的参数




  • 总结

Easy Touch提供了虚拟摇杆的解决方案,基本能满足你的各种需求。包括前面所说的,定制UI,隐藏,指定区域等。可以在你的项目中尝试使用

  • 源码


http://pan.baidu.com/s/1ovU58

unity 3d-Easy Touch 3教程 转