unity下简易摇杆实现

2023-10-26

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using Google.Protobuf;

public class Rocker : MonoBehaviour ,IDragHandler,IEndDragHandler
{
    public RectTransform rocker;
    public RectTransform bar;
    float r;
    public void OnDrag(PointerEventData eventData)
    {
        Vector2 pos = eventData.position - rocker.anchoredPosition;
        bar.anchoredPosition = Vector2.ClampMagnitude(pos, r);
        Vector2 v2 = bar.anchoredPosition / r;
        SendMove(v2);
    }

    public void OnEndDrag(PointerEventData eventData)
    {
        bar.localPosition = Vector3.zero;
        SendMove(Vector2.zero);
    }

    void Start()
    {
        r = rocker.rect.width / 2;
    }

    public void SendMove(Vector2 v2)
    {
        //计算角度0-360
        float ang = Mathf.Atan(v2.x / v2.y) * Mathf.Rad2Deg;
        if (v2.y < 0)
        {
            ang += 180;
        }
        else if (v2.x < 0)
        {
            ang += 360;
        }
        ang += Camera.main.transform.eulerAngles.y;
        //计算距离0-1
        float dis = Vector2.Distance(Vector2.zero, v2);
        //通过消息中心发送
        MessageCenter.Ins.Send(MsgID.MOVE, ang, dis);
    }
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

unity下简易摇杆实现 的相关文章

  • UE4 解决景深效果闪烁问题

    原因 1 模型的垂直竖线 造成抗锯齿算法对竖线的渲染计算 处于一种不稳定的状态 因此闪烁 解决办法 使用LOD 用贴图去替代线条模型 2 材质的法线贴图 当法线贴图含有垂直竖线的纹理效果 也会造成闪烁 比如这种幕墙材质 解决办法 关闭或动态
  • Unity 分块延迟渲染01 (TBDR)

    现代移动端图形体系结构的概述 现代SoC通常会同时集成CPU和GPU CPU被用于处理需要低内存延迟的序列 大量分支的数据集 其晶体管用于流控制和数据缓存 GPU为处理大型 未分支的数据集 如3D渲染 晶体管专用于寄存器和算术逻辑单元 而不
  • Unity中实现倒计时的几种方式

    1 Time time using UnityEngine public class TimeTest MonoBehaviour public float secound 10 void Update Timing private flo
  • Unity中UI框架的使用1-添加面板、显示Loading页面

    其中BasePanel和Canvas都是挂在面板的预制物上的 1 导入我们的UI框架 本篇文章中有用的是两个UIPanelType NUIManager和NBasePanel 会放在文章最后供大家使用 2 先将我们做好的Panel设置成预制
  • Unity之获取游戏物体对象或组件的几个方法

    文章目录 前言 通过物体名称获取对象 GameObject Find Transform Find 通过物体标签获取对象 GameObject FindWithTag GameObject FindGameObjectWithTag Gam
  • unity中创建询问弹出窗口

    在开发过程中进程会遇到需要弹出一个窗口询问用户是否进行的操作 今天就来制作一个这样弹出窗口 然后根据弹出窗口的选择内容不同进行不同的操作 本例中主要是为了删除一个数据 而在删除数据操作前需要得到用户的一个确认操作 这里面主要用到了Notif
  • Unity学习笔记(一)—— 基础知识

    一 基础知识 1 开发团队组成 2 unity特点 图形界面 所见即所得 入门简单 支持C 比OC C 更友好 js 国内外资源丰富 因为使用的人多 跨平台性好 PC端 移动端等 对VR AR的支持最完善 3 成功案例 游戏 炉石传说 神庙
  • unity后台加密时间锁

    前言 在做一些项目的时候 有些不良甲方在给完项目后会有不给尾款的情况 之前都是加一些水印啥的 感觉不是很方便 第一不美观 第二如果甲方给完尾款后还得重新打包去水印 然后又做过一个本地的时间锁 等到时间 程序直接退出 但是感觉还是不方便 有时
  • unity工程崩溃资源找回

    1 Unity死机未保存场景 当你在Unity中编辑场景 突然死机时 可以在项目文件目录中找到Temp文件夹 双击文件夹 找到 Backupscenes文件夹 把后缀为 backup的文件后缀改为 unity 然后拖进Unity的Proje
  • 【IMGUI】 各种辅助类 EditorGUIUtility、EditorUtility、GUIUtility、GUILayoutUtility

    EditorGUIUtility class in Editor 继承自 GUIUtility EditorGUI 的各种辅助程序 EditorGUIUtility currentViewWidth 我尝试打印了下这个值和position
  • 【Unity】按Esc进入操作菜单

    本文章是基于如下视频的自我总结 https www youtube com watch v JivuXdrIHK0 步骤如下 1 在Canvas 界面添加一个Panel Panel中添加一个按钮 调整按钮的大小为合适大小 调整字体的大小为合
  • Unity打包WebGL的优化常用操作?

    1 贴图部分优化 如果贴图格式时2048 在不影响画面效果的情况下 改成1024或者5 12 还可以缩小包体 2 压缩和解压缩问题 WebGL打包的时候分三种压缩情况 gzip 比Brotli文件打 但打包快 http和https都支持 B
  • unity实现鼠标右键控制视角

    主要实现的功能是相机跟随主角 鼠标右击移动后 相机的视角会旋转 思路 在主角里创建空的子物体 把相机绑在空物体上 通过旋转空物体来实现视角的旋转 要把相机调整到适当位置 代码如下 public float rotateSpeed 100 设
  • 【Unity步步升】监控与检测物体的各种方案,如:射线、碰撞、挂载等...

    在制作AR模型数值控制方案的时候遇到了检测的问题 学习过程受益匪浅 故今天为大家整理带来一篇监控与检测物体的参考方案集合 目录 一 射线检测 二 物体存在检测 三 碰撞检测 一 射线检测 单射线检测 首先完成搭建场景如下图1 1 我这里用到
  • unity3d image组件不显示

    需要将UI组件放到画布下面
  • 【原神游戏开发日志1】缘起

    原神游戏开发日志1 缘起 版权声明 本文为 优梦创客 原创文章 您可以自由转载 但必须加入完整的版权声明 文章内容不得删减 修改 演绎 相关学习资源见文末 大家好 最近看到原神在TGA上频频获奖 作为一个14年经验的游戏开发行业的老兵 我就
  • unity小球跟随音乐节奏放大缩小和改变颜色

    放在小球身上 设置对应组件即可 using System Collections using System Collections Generic using Unity VisualScripting using UnityEngine
  • U3D游戏开发中摇杆的制作(NGUI版)

    在PC端模拟摇杆 实现控制摇杆让玩家或者物体移动 以下是完整代码 using System Collections using System Collections Generic using UnityEngine public clas
  • 游戏开发创建操作之玩家信息系统的建立

    游戏一般都需要玩家信息系统 那么我们应该如何搭建玩家信息系统 接下来我将展示一种简单的方法 完整代码如下 using System Collections using System Collections Generic using Uni
  • 游戏开发常见操作梳理系列之——玩家信息的显示系统

    在游戏中 有不少游戏在左上角会出现玩家的头像和等级以及血量 这就是玩家的信息显示系统 那么这些是如何制作的呢 接下来我将讲讲代码的操作 其它操作我会在其它笔记中一一说明 敬请期待 信息的显示相当简单就是控制一些UI 然后在其它系统里面填写相

随机推荐

  • 从零开始深度学习

    特点 从深度学习基础开始 快速进入重要高级架构的细节 从头开始实施所有内容 学习如何从头开始应用多层神经网络 卷积神经网络和循环神经网络 非常清晰和彻底的心智模型 伴随着工作代码示例和数学解释 使用易于理解的面向对象框架 从头开始实现多层神
  • js-使用attr()方法

    在使用attr 过程中遇到些许问题 总结归纳一下 获取xo标签attribute属性的值 xo attr attribute 设置attribute属性的值为value xo attr attribute value 设置多个attribu
  • 数据标准化常见问题:对整个数据集数据标准化后再划分训练集、测试集和先对训练级标准化再将规则用于测试集有什么区别(Python实现)

    在数据分析与挖掘 算法建模的都会用到数据标准化 数据的标准化 normalization 是将数据按比例缩放 使之落入一个小的特定区间 在某些比较和评价的指标处理中经常会用到 去除数据的单位限制 将其转化为无量纲的纯数值 便于不同单位或量级
  • 还在为日语动词变形感到困惑吗?一张图即可搞定

    还在为日语动词变形感到困惑吗 一张图即可搞定 身在异国他乡 不会当地语言 是寸步难行 因此 我想把自己学习到的知识以文字形式分享给大家 仅供大家参考 目前我也正处于日语自学阶段 在 如何阅读一本书 里面讲到 掌握知识的最佳方法就是记住与输出
  • Vue3通透教程【十六】TS编译配置

    文章目录 写在前面 初始化配置文件 target module lib types node include outDir 写在最后 写在前面 专栏介绍 凉哥作为 Vue 的忠实 粉丝输出过大量的 Vue 文章 应粉丝要求开始更新 Vue3
  • 微信小程序 wx.getUserProfile 接口获取用户信息

    wx getUserInfo 开发中遇到getUserInfo一直获取不到用户信息 查询后了解到 考虑到近期开发者对小程序登录 用户信息相关接口调整的相关反馈 为优化开发者调整接口的体验 回收wx getUserInfo接口可获取用户授权的
  • 如何让自己的写的程序在阿里云一直运行

    参考 如何让自己的写的程序在阿里云一直运行 作者 图触靓 发布时间 2020 08 02 11 53 28 网址 https blog csdn net bhbhhyg article details 107742311 目录 1 下载sc
  • 下载huggingface上模型的正确姿势

    更多 更及时内容欢迎留意微信公众号 小窗幽记机器学习 文章目录 背景 环境安装 模型下载 背景 之前下载huggingface上模型的时候 要么是用类似如下脚本的方式下载 from transformers import AutoToken
  • 京东JD商品详情接口

    Result Object items url https search jd com Search keyword 手机 enc utf 8 wq 手机 pvid 33dbb420d9fa4ca483a869f2e4c5625c keyw
  • Prometheus监控

    Prometheus监控 时序数据库 使用kube Prometheus 使用之前要先卸载master01节点上的metrics server 否则会导致master01节点 noreday 下载安装文件 https github com
  • ping不通的几种可能原因

    平时使用中经常会碰到ping不通的情况 ping不通的原因有很多 比如路由设置问题 比如网络问题 以下列出几点原因 1 太心急 即网线刚插到交换机上就想Ping通网关 忽略了生成树的收敛时间 当然 较新的交换机都支持快速生成树 或者有的管理
  • 搭建OpenVpn

    由于个人需求 需要科学上网 就在ucloud买了一个100块一年的服务器 不过如果拿来访问openai的chatgpt在线版还是不行 因为ucloud的ip段因为大量访问 所有已经被封掉了 很多有限制的网站都不行 网上相关的文章已经有很多了
  • shader- 之高光反射

    Shader Shadertest test1Shader Properties Diffuse Diffuse Color 1 1 1 1 SubShader Tags RenderType Opaque 顶点 片元着色器代码需要卸载pa
  • Python人工智能学习路线(长篇干货)

    本文篇幅较长 干货较多 建议收藏慢慢看 前言 谈到人工智能 AI 算法 常见不外乎有两方面信息 铺天盖地各种媒体提到的高薪就业 贩卖课程 知乎上热门的算法岗 水深火热 灰飞烟灭 的梗 贩卖焦虑 其实 这两方面都是存在的 但都很片面 这里不加
  • 【Blender】我的第一个3D模型--马克杯(附教程)

    渲染图 Blander导出gltf插件 https github com Kupoman blendergltf 图文教程 对着正方体按X 确定删除默认的正方体 按Shitft A 快捷键 创建一个圆环 按TAB 键 进入编辑模式 再按E
  • 盒子模型和box-sizing属性

    1 前言 今天被杭州有赞的前端面试官面了 很多问题一知半解 主要原因还是因为我这几个月大多数时间都在写项目 平常学习也是主要以框架为主 很多基础知识都遗忘了 从这篇文章开始 我会记录 学习和研究面试中遇到的问题 当然 一般都是关于前端开发的
  • 移动数据网络类型是nr_5G(NR)网络中小区接入控制

    无线接入控制是一种针对话务拥塞的处理机制 通过限制移动设备向基站的连接请求 保护和保证紧急呼叫等关键通信的成功接入 无线侧可控制接入的方法有两种 1 终端侧 接入控制方式 在向基站移动设备发送任何连接请求之前 终端 需读取广播消息 基站 识
  • 小程序全局悬浮窗_微信小程序悬浮窗弹出怎么实现?

    微信小程序悬浮窗弹出怎么实现 很多的微信小程序管理员会在微信小程序界面开发微信小程序悬浮窗弹出功能 接下来小编会为大家介绍微信小程序悬浮窗弹出关注实现的全部步骤哦 微信小程序悬浮窗弹出怎么实现 微信小程序悬浮窗弹出的效果如下 微信小程序悬浮
  • Android开发者必备工具-常见Android模拟器(MuMu、夜神、蓝叠、逍遥、雷电、Genymotion...)

    模拟器的用途介绍 作为一名Android开发者 模拟器是我们调试和测试应用必备的神器 模拟器主要有以下用途 第一个是用于游戏 游戏玩家可以在他们的电脑上使用模拟器来让一些游戏更容易玩 他们不必依赖设备的电池寿命 借助于键盘 鼠标以及更大的屏
  • unity下简易摇杆实现

    using System Collections using System Collections Generic using UnityEngine using UnityEngine UI using UnityEngine Event