zoukankan      html  css  js  c++  java
  • UGUI简易摇杆

    实现

    1. 直接使用系统自带圆形控件图标
    2. 编写脚本, 实现UGUI拖拽事件
    3. 将多拽范围限定于给定半径和圆心的圆内
    4. 计算出等同于Input.GetAxis()的值,直接控制被控制物体

    代码

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.EventSystems;
    
    public class MyJoystick : MonoBehaviour, IDragHandler, IPointerUpHandler, IEndDragHandler
    {
        public float Radius = 100f;
        private Vector2 center;
        private RectTransform rectTransform;
        // Use this for initialization
        void Start()
        {
            rectTransform = GetComponent<RectTransform>();
            center = rectTransform.position;
        }
    
    
        public void OnDrag(PointerEventData eventData)
        {
            Vector2 vPos = eventData.position;
            var distance = Vector2.Distance(vPos, center);
            if (distance > Radius)
            {
                vPos = (vPos - center).normalized * Radius + center;
            }
            rectTransform.position = new Vector3(vPos.x, vPos.y, 0);
    
            // if (TTMove)
            // {
            //     var npos = (vPos - center) / Radius;
            //     TTMove.forwardInput = npos.y;
            //     TTMove.turnInput = npos.x;
            // }
        }
    
        public void OnPointerUp(PointerEventData eventData)
        {
            rectTransform.position = new Vector3(center.x, center.y, 0);
            // if (TTMove)
            //     TTMove.forwardInput = TTMove.turnInput = 0;
        }
    
        public void OnEndDrag(PointerEventData eventData)
        {
            rectTransform.position = new Vector3(center.x, center.y, 0);
            // if (TTMove)
            //     TTMove.forwardInput = TTMove.turnInput = 0;
        }
    }

    把脚本挂到

    <wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

  • 相关阅读:
    数据库查询服务DBCacheServer
    SmallMQ实现发布
    数据库查询服务DBCacheServer
    Mysql ACID与隔离级别
    jsp拾遗
    Git项目创建与提交
    Spring Boot详细学习地址转载
    Spring Cloud微服务体系搭建
    前后端分离项目启动参考
    JVM类加载机制总结
  • 原文地址:https://www.cnblogs.com/CloudLiu/p/10138445.html
Copyright © 2011-2022 走看看