easytouch unity怎么让摇杆获得人物自身坐标

先学习下Easytouch的摇杆和按钮(先来一个官方实例,控制人物的移动)
1. 添加一个摇杆 Tools -& Hedgehog Team -& EasyTouch -& extensions -& adding a new jokstick
2.&添加一个摇杆 Tools -& Hedgehog Team -& EasyTouch -& extensions -& adding a new Button
3. 选中摇杆设置:Interaction Type: Event Notification 类型(否者你订阅的事件不会起作用,比如按钮的移动,开始等等) &
4. 射击按钮点击,触发MyPlayer类的Fire方法
MyPlayer.cs类(只有这个类,我就不上传源码了)
using UnityE
using System.C
public class MyPlayer : MonoBehaviour {
public GameO
//主角人物
//子弹发射的地点
private Vector2 joystickO
//按钮初始坐标
private int initOffect = 0;
// Use this for initialization
void Start () {
model = transform.Find("Model").
gun = transform.Find("Gun").
//注册事件
EasyJoystick.On_JoystickMove += M
EasyJoystick.On_JoystickMoveEnd += MoveE
EasyJoystick.On_JoystickMoveStart += MoveS
void Fire()
Instantiate(bullet, gun.transform.position, gun.rotation);
void MoveStart(MovingJoystick move){}
void OnDisable()
EasyJoystick.On_JoystickMove -= M
EasyJoystick.On_JoystickMoveEnd -= MoveE
void Move(MovingJoystick move)
//控制角色的移动
float angle = move.Axis2Angle(true);
transform.rotation = Quaternion.Euler(new Vector3(0,angle,0));
transform.Translate(Vector3.forward * move.joystickValue.magnitude * Time.deltaTime);
//如果手指超过遥感的边框,就跟随手指的方向移动
if (move.joystickValue.magnitude == move.joystick.speed.x
|| move.joystickValue.magnitude == move.joystick.speed.y)
//记录摇杆初始的x,y位置
if (initOffect == 0)
joystickOffect = move.joystick.JoystickPositionO
initOffect = 1;
//判断方向,
move.joystick.JoystickPositionOffset = new Vector2(move.joystick.JoystickPositionOffset.x + move.joystickValue.x
, move.joystick.JoystickPositionOffset.y - move.joystickValue.y);
model.animation.CrossFade("Run");
void MoveEnd(MovingJoystick move)
move.joystick.JoystickPositionOffset = joystickO
//让摇杆回到初始位置
model.animation.CrossFade("idle");
源码:& &提取码 7c5a
新人求关照,有什么不对的地方,请大家留言(下次更新。。。。。)
阅读(...) 评论()求教Unity3d的EasyTouch插件的多点触控
[问题点数:30分,结帖人lin]
求教Unity3d的EasyTouch插件的多点触控
[问题点数:30分,结帖人lin]
只显示楼主
取消只显示楼主
相关帖子推荐:
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。对于移动平台上的RPG类的游戏,我们常用虚拟摇杆来控制人物角色的行走和一些行为,相信我们对它并不陌生,之前尝试了EasyTouch2.5,发现并没有最新版的3.1好用,2.5版本的对于自适应没有做的很好,而最新版的已经解决了这一问题。当然unity也自带了摇杆Joystick,用起来也简单,但存在不少局限,不会满足普通mmo游戏的需求,比如指定显示区域或者是更改一些素材等等,而这些EasyTouch插件都已经帮你实现,不得不佩服插件的原作者,能做出这么炫酷好用的插件,当然这估计是老外开发的,关于插件的下载,你可以在AssetStore上购买,当然也可以使用free版。
我这里也提供一个3.1版本的插件下载地址:
一、效果图
感觉很酷有木有!接下来就看一下创建的过程吧!
二、操作步骤
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 MyFirstTouch6-Add these methods
void&OnEnable(){&&
EasyTouch.On_TouchStart&+=&On_TouchS&&
void&OnDisable(){&&
EasyTouch.On_TouchStart&-=&On_TouchS&&
void&OnDestroy(){&&
EasyTouch.On_TouchStart&-=&On_TouchS&&
public&void&On_TouchStart(Gesture&gesture){&&
Debug.Log(&"Touch&in&"&+&gesture.position);&&
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用来接收遥感事件控制角色的移动
using&UnityE&&
using&System.C&&
public&class&MoveController&:&MonoBehaviour&{&&
&&&&void&OnEnable()&&
&&&&&&&&EasyJoystick.On_JoystickMove&+=&OnJoystickM&&
&&&&&&&&EasyJoystick.On_JoystickMoveEnd&+=&OnJoystickMoveE&&
&&&&void&OnJoystickMoveEnd(MovingJoystick&move)&&
&&&&&&&&if&(move.joystickName&==&"MoveJoystick")&&
&&&&&&&&{&&
&&&&&&&&&&&&animation.CrossFade("idle");&&
&&&&&&&&}&&
&&&&void&OnJoystickMove(MovingJoystick&move)&&
&&&&&&&&if&(move.joystickName&!=&"MoveJoystick")&&
&&&&&&&&{&&
&&&&&&&&&&&&&&
&&&&&&&&}&&
&&&&&&&&&&
&&&&&&&&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");&&
&&&&&&&&}&&
几个函数的执行顺序:
7.创建点击按钮
点击HedgehogTeam-&EasyTouch-&Extensions-&Create a new Button,会在屏幕右下角创建一个button
如何让有下角的按钮点击能做出我们想要的效果呢?
jump方法:
然后点击一下按钮,人物就会跳跃动作!
如需转载请注明出处:
==================== 迂者 丁小未 CSDN博客专栏=================
MyBlog:& & & & & & &MyQQ:
Unity QQ群:858550 & & & & cocos2dx QQ群:
======================&相互学习,共同进步&===================
阅读(...) 评论()求教Unity3d的EasyTouch插件的多点触控
[问题点数:30分,结帖人lin]
求教Unity3d的EasyTouch插件的多点触控
[问题点数:30分,结帖人lin]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。请教一个EasyTouch的问题,如何实现摇杆和之外的触模区域独立_unity3d吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:26,249贴子:
请教一个EasyTouch的问题,如何实现摇杆和之外的触模区域独立收藏
是这样的,EasyJoystick摇杆移动角色上下左右,摇杆之外的所有区域控制角色的旋转,可问题来了,当按下摇杆同时会触发EasyTouch的On_TouchStart事件,请问如何让他们操作不受影响?
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或

我要回帖

更多关于 unity easytouch 下载 的文章

 

随机推荐