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

posted @ 2014-12-14 16:33  一剑天门开  阅读(512)  评论(0编辑  收藏  举报