本文实例为大家分享了Unity虚拟摇杆的简单实现代码,供大家参考,具体内容如下
简单的Unity虚拟摇杆实现,有详细注释。
Game界面
Inspector界面
摇杆脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
public class YaoGanCtrl : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler { public RectTransform diPan; public RectTransform anNiu; public Vector2 direction; Vector2 startPos; public float moveRange; public void OnBeginDrag(PointerEventData eventData) { //获取中心按钮的初始位置 startPos = anNiu.position; } public void OnDrag(PointerEventData eventData) { //计算摇杆方向 Vector2 newDir = eventData.position - startPos; //计算活动范围的半径 float r = Mathf.Clamp(newDir.magnitude, -moveRange, moveRange); //获取摇杆的单位方向 direction = newDir.normalized; //设置中心按钮位置 anNiu.position = startPos + direction * r; } public void OnEndDrag(PointerEventData eventData) { //重置中心按钮位置 anNiu.position = startPos; //重置单位方向 direction = Vector2.zero; } } |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/qq354886391/article/details/86763419