手机游戏摇杆为啥老随触摸的地方火影忍者手游移动摇杆

飞智手机手柄连接飞智游戏厅 里游戏怎么只有技能键可以用 而移动摇杆却不能用呢?_百度知道xbox移动是摇杆,ps4移动是按键,那么像刺客信条这种游戏,让角色缓慢移动,xbox是轻推摇杆,_百度知道你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
摇杆控制人物移动,当场景画面旋转后,再用摇杆控制人物移动,这时人物移动方向就不对了,怎么让人物一直的看向摇杆控制的方向哦?
不知表达的明白不,摇杆控制人物前进后退。
当触摸屏幕使的场景画面旋转了之后,再用摇杆控制人物移动,这时人物却没有旋转,所以人物移动会出问题,。
问题就在于这个人物怎么才可以在摇杆的控制之下,永远不会出现旋转画面后出现BUG呢?
或者有什么更好的方面处理这样的效果么?
求指点。。
脚本JoyStick.cs挂在摇杆上并设置相关参数。
using UnityE
using System.C
public enum JoyStickType
leftJoyStick,
rightJoyStick
public class JoyStick : MonoBehaviour {
public JoyStickType joyStickT//摇杆类型,左摇杆还是右摇杆
public Vector2 centerP//摇杆的中心点位置,世界坐标
public Transform centerB//摇杆中心球
public float joyStickR//摇杆的半径,世界空间中的半径
private int lastFingerID = -1;//最后一次触摸的手指id
private bool centerBallMoving =//摇杆中心球移动开关
// Use this for initialization
void Start () {
// Update is called once per frame
void Update () {
JoyStickController();
void JoyStickController()
int count = Input.touchC//获取触摸数量
for (int i = 0; i < i++)//逐个分析触摸
Touch touch = Input.GetTouch(i);Unity3D教程手册
//将当前的触摸位置屏幕转世界坐标
Vector2 currentTouchPos = new Vector2(Camera.main.ScreenToWorldPoint(touch.position).x, Camera.main.ScreenToWorldPoint(touch.position).y);
Vector2 temp = currentTouchPos - centerP//得到方向向量temp(触摸转换后的位置和摇杆)
if (touch.phase == TouchPhase.Began)
if (Mathf.Round(temp.magnitude) <= joyStickRadius)//如果方向向量temp的长度没有超出摇杆的半径
lastFingerID = touch.fingerId;//记录该触摸的id
centerBallMoving =//摇杆中心球移动开关打开
//若中心球移动开关打开,摇杆中心球就会跟随手指移动。但需要加以限制,当手指触摸没有超出摇杆的圆形区域时,中心球完全跟随手指触摸;
//当手指触摸超出圆形区域时,中心球处于触摸位置和摇杆中心点所形成的方向上并且不能超出半径
if (touch.fingerId == lastFingerID && centerBallMoving)
if (Mathf.Round(temp.magnitude) <= joyStickRadius) //如果手指触摸没有超出摇杆的圆形区域,即摇杆半径,摇杆中心球的位置一直跟随手指
centerBall.transform.position = Camera.main.ScreenToWorldPoint(new Vector3(touch.position.x, touch.position.y, Camera.main.WorldToScreenPoint(centerBall.transform.position).z));
temp.Normalize();
//由于摇杆中心球是在一个平面上移动的,本人做法是中心球位置的z值固定为18,改变x,y值,大家可以视情况做一些修改
centerBall.transform.position = new Vector3((temp * joyStickRadius + centerPos).x, (temp * joyStickRadius + centerPos).y, 18);
if (temp.x >= 0)//0-180
//一下为示例代码:控制旋转方向,主要利用Vector2.Angle(temp, new Vector2(0, 5))得到角度并利用
//initialization_script.current_player_tank_script.BodyRotation(Vector2.Angle(temp, new Vector2(0, 5)));
if (temp.x< 0)//180-360
//一下为示例代码:控制旋转方向,主要利用Vector2.Angle(temp, new Vector2(0, 5))得到角度并利用
//initialization_script.current_player_tank_script.BodyRotation(-1 * Vector2.Angle(temp1, new Vector2(0, 5)));
//控制移动的函数或者控制开火的函数,假设左摇杆控制移动,右摇杆控制开火
switch(joyStickType)
case JoyStickType.leftJoyStick:
case JoyStickType.rightJoyStick:
//当释放触摸的时候中心球位置重置
if (touch.phase == TouchPhase.Ended || touch.phase == TouchPhase.Canceled)
centerBall.transform.position = new Vector3(centerPos.x, centerPos.y, 18);
// 示例代码,视情况自己添加 initialization_script.current_player_tank_script.CoverRotation(initialization_script.current_player_tank.transform.eulerAngles.y);
centerBallMoving =
lastFingerID = -1;
脚本JoyStick.cs挂在摇杆上并设置相关参数。01
using UnityE
首先是谢谢你哇,。这个是双摇杆控制的,而我的问题是旋转场景后再单摇杆控制的问题。。
要回复问题请先或
浏览: 1074
关注: 0 人欢迎来到蜗牛移动!
中国首张虚拟运营商纪念版SIM金卡
目前售价:9999元
  双摇杆、实体键、8核CPU&&蜗牛移动推出的78点P01凭借其专业游戏手机的独特魅力,自发售以来就受到了广泛好评,赢得了众多玩家的青睐和追捧,被誉为&手游神器&。
  8月10日至30日,这款手游神器推出&暑期狠放价&促销活动,原价1299元的78点P01游戏手机直降300元,仅售999元。跌破千元的价格相信会让很多游戏爱好者心动。
  此次&暑期狠放价&,蜗牛移动为78点P01准备了四个不同的超值组合包,为不同需求的用户贴心提供了包括通信、续航、延保等多种服务搭配。
  除了999元的官方标配之外,还有搭配免卡一张并附赠百元话费的&给力通信包&;额外搭配原装电池和耳机的&持久配件包&;以及包括了免卡、电池、耳机和额外一年延保的&活力组合包&。
  作为蜗牛移动专为游戏玩家量身定制的一款游戏手机,78点P01具有基础的通信功能,可以双卡双待,还专门配置了用于游戏的软硬件。其中,处理器为联发科MTK6592,8核CPU保证了极速游戏体验,GPU为Mali 450 MP4,主频700MHz,支持全高清视频w/Richest解码格式,分辨率最高支持2K。高性能的硬件配置,相比普通手机,玩游戏战斗力提升200%。
  除了高端的硬件配置,78点P01作为专业游戏手机,与普通手机最大的区别,就在于其配备了双摇杆和专业手柄式实体按键,精准的操控配上无遮挡的5英寸IPS TFT屏,完美引爆玩家操作实力。另外,78点P01拥有独特的按键映射技术,可以将触屏操控的游戏快速切换到按键操控。
  凭借触屏手机无法比拟的游戏体验优势, 78点P01自发售以来就受到了广泛好评,赢得了众多玩家的青睐和追捧,被誉为&手游神器&。此次&狠放价&之后,该机价格首次跌破千元。
  即日起,玩家在线上可登陆蜗牛游戏手机官网()或MUCH数码旗舰店()购买78点P01。而在线下,78点P01进驻的苏宁40家门店里,将会同步进行&暑期狠放价&促销。机会难得,千万不要错过!
999元立即抢购:
7*24小时客服
蜗牛移动,游戏虚拟运营商

我要回帖

更多关于 移动摇杆 的文章

 

随机推荐