• (转)[unity3d]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

    [csharp] view plaincopyprint?在CODE上查看代码片派生到我的代码片
     
    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. public void 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.设置遥感的相关参数
    5.创建脚本MoveController.cs用来接收遥感事件控制角色的移动
    [csharp] view plaincopyprint?在CODE上查看代码片派生到我的代码片
     
    1. using UnityEngine;  
    2. using System.Collections;  
    3.   
    4. public class MoveController : MonoBehaviour {  
    5.   
    6.     void OnEnable()  
    7.     {  
    8.         EasyJoystick.On_JoystickMove += OnJoystickMove;  
    9.         EasyJoystick.On_JoystickMoveEnd += OnJoystickMoveEnd;  
    10.     }  
    11.   
    12.   
    13.     //移动摇杆结束  
    14.     void OnJoystickMoveEnd(MovingJoystick move)  
    15.     {  
    16.         //停止时,角色恢复idle  
    17.         if (move.joystickName == "MoveJoystick")  
    18.         {  
    19.             animation.CrossFade("idle");  
    20.         }  
    21.     }  
    22.   
    23.   
    24.     //移动摇杆中  
    25.     void OnJoystickMove(MovingJoystick move)  
    26.     {  
    27.         if (move.joystickName != "MoveJoystick")  
    28.         {  
    29.             return;  
    30.         }  
    31.           
    32.         //获取摇杆中心偏移的坐标  
    33.         float joyPositionX = move.joystickAxis.x;  
    34.         float joyPositionY = move.joystickAxis.y;  
    35.   
    36.   
    37.         if (joyPositionY != 0 || joyPositionX != 0)  
    38.         {  
    39.             //设置角色的朝向(朝向当前坐标+摇杆偏移量)  
    40.            transform.LookAt(new Vector3(transform.position.x + joyPositionX, transform.position.y, transform.position.z + joyPositionY));  
    41.             //移动玩家的位置(按朝向位置移动)  
    42.             transform.Translate(Vector3.forward * Time.deltaTime * 5);  
    43.             //播放奔跑动画  
    44.             animation.CrossFade("run");  
    45.         }  
    46.     }  
    47. }  
    几个函数的执行顺序:
    6.效果图
     
    7.创建点击按钮
    点击HedgehogTeam->EasyTouch->Extensions->Create a new Button,会在屏幕右下角创建一个button
     
     
    如何让有下角的按钮点击能做出我们想要的效果呢?
     
    jump方法:
     
    然后点击一下按钮,人物就会跳跃动作!
     
     

    ==================== 迂者 丁小未 CSDN博客专栏=================

    MyBlog:http://blog.csdn.net/dingxiaowei2013             MyQQ:1213250243

    Unity QQ群:858550         cocos2dx QQ群:280818155

    ====================== 相互学习,共同进步 ===================

  • 相关阅读:
    September 17th 2016 Week 38th Saturday
    【2016-09-16】UbuntuServer14.04或更高版本安装问题记录
    September 16th 2016 Week 38th Friday
    September 11th 2016 Week 38th Sunday
    September 12th 2016 Week 38th Monday
    September 10th 2016 Week 37th Saturday
    September 9th 2016 Week 37th Friday
    c++暂停
    八皇后问题
    ( 转转)Android初级开发第九讲--Intent最全用法(打开文件跳转页面等)
  • 原文地址:https://www.cnblogs.com/wonderKK/p/3893471.html
Copyright © 2020-2023  润新知