unity3d easytouch教程

时间:2024-11-14 10:36:02

http://www.taikr.com/group/6/thread/1987

说一说easytouch的简单使用方法,和移动平台上的rpg游戏一样,我们肯定也不陌生,我们经常玩游戏的时候用的都是虚拟摇杆来控制人物的行动和走动,我就简单说下unity3d easytouch教程中的easytouch怎么使用的。

一、效果图

unity3d easytouch教程

unity3d easytouch教程

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

二、操作步骤

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

unity3d easytouch教程

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.

unity3d easytouch教程

5-Create a new C# script MyFirstTouch

6-Add these methods

  1. // Subscribe to events

  2. void OnEnable(){

  3. EasyTouch.On_TouchStart += On_TouchStart;

  4. }

  5. // Unsubscribe

  6. void OnDisable(){

  7. EasyTouch.On_TouchStart -= On_TouchStart;

  8. }

  9. // Unsubscribe

  10. void OnDestroy(){

  11. EasyTouch.On_TouchStart -= On_TouchStart;

  12. }

  13. // Touch start event

  14. publicvoid
    On_TouchStart(Gesture gesture){

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

  16. }

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.设置遥感的相关参数

unity3d easytouch教程

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

  1. using UnityEngine;

  2. using System.Collections;

  3. publicclass
    MoveController : MonoBehaviour {

  4. void OnEnable()

  5. {

  6. EasyJoystick.On_JoystickMove += OnJoystickMove;

  7. EasyJoystick.On_JoystickMoveEnd += OnJoystickMoveEnd;

  8. }

  9. //移动摇杆结束

  10. void OnJoystickMoveEnd(MovingJoystick move)

  11. {

  12. //停止时,角色恢复idle

  13. if (move.joystickName =="MoveJoystick")

  14. {

  15. animation.CrossFade("idle");

  16. }

  17. }

  18. //移动摇杆中

  19. void OnJoystickMove(MovingJoystick move)

  20. {

  21. if (move.joystickName !="MoveJoystick")

  22. {

  23. return;

  24. }

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

  26. float joyPositionX = move.joystickAxis.x;

  27. float joyPositionY = move.joystickAxis.y;

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

  29. {

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

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

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

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

  34. //播放奔跑动画

  35. animation.CrossFade("run");

  36. }

  37. }

  38. }

几个函数的执行顺序:


unity3d easytouch教程

6.效果图

unity3d easytouch教程

7.创建点击按钮

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

unity3d easytouch教程

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

unity3d easytouch教程

jump方法:

unity3d easytouch教程