zoukankan      html  css  js  c++  java
  • [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

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

     

  • 相关阅读:
    a 去虚框
    清除浮动
    【IE6】float:left margin-left翻倍【浮动块增加属性:-display:inline;】
    linux学习笔记(九):系统运行状况查看、磁盘、网络
    linux学习笔记(八):管理文件、文件搜索、文件查看、文件对比
    linux学习笔记(七):shell命令语法
    linux学习笔记(五):开机、关机、开机日志
    Windows 10 远程桌面出现身份验证错误:要求的函数不受支持(解决)
    (转) java 通过 jdbc 链接 ms sql server 中出现 "no suitable driver for ..."
    (转)ArcGIS Runtime for Android 使用异步GP服务绘制等值线
  • 原文地址:https://www.cnblogs.com/dingxiaowei/p/3581456.html
Copyright © 2011-2022 走看看