一般游戏用的EasyTouch插件的功能 就两三种比较少,把插件全导入占用内存太大,所以本文对摇杆部分进行了提验 其他部分都可以照样提出来用。
1.主相机设置 屏幕分辩 16:9
2 创建一块Plane 和控制的移动对象 Cube;
3 创建ui摇杆 joyTick.
创建好后运行 如图:
5 摇杆控制代码:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using System;
using System.Collections.Generic;
/// <summary>
/// 虚拟摇杆(暂作用于控制层)
/// </summary>
public class JoyStick : MonoBehaviour, IPointerDownHandler, IPointerUpHandler, IDragHandler
{
public List<Vector2> caluatePostionQueue;
/// <summary>
/// 摇杆最大半径
/// 以像素为单位
/// </summary>
public float JoyStickRadius = 50;
/// <summary>
/// 摇杆重置所诉
/// </summary>
public float JoyStickResetSpeed = 5.0f;
/// <summary>
/// 当前物体的Transform组件
/// </summary>
private RectTransform selfTransform;
/// <summary>
/// 是否触摸了虚拟摇杆
/// </summary>
private bool isTouched = false;
/// <summary>
/// 虚拟摇杆的默认位置
/// </summary>
private Vector2 originPosition;
/// <summary>
/// 虚拟摇杆的移动方向
/// </summary>
private Vector2 touchedAxis;
public Vector2 TouchedAxis
{
get
{
return touchedAxis.normalized;
&