Unity UGUI:虚拟摇杆控制角色移动的简单实现方式

本文介绍了如何在Unity中使用UGUI实现虚拟摇杆控制角色移动。内容包括在Overlay和Camera模式下创建Canvas,设置Image组件,编写JoyStick和PlayerController脚本,以及处理不同Canvas模式下的坐标转换问题。
摘要由CSDN通过智能技术生成

需求

使用两张图片作为移动范围和操作杆,使操作杆能在移动范围中移动,当鼠标拖拽操作杆移出操作范围时及鼠标在移动范围外移动时,操作杆同样可以随鼠标运动。简易图如下:
简易示意图

实现方式

Overlay模式Canvas下的实现

  1. 首先建立Canvas画布,可直接创建UI中的Image进行建立,选择Canvas的渲染模式(Rander Mode)为 Screen Space - Overlay
  2. 为Image创建子物体Image,将其赋予Source Image均赋值Sprite类型的图片。
  3. 为子物体添加脚本JoyStick,脚本实现UGUI回调函数的接口,拖拽中、拖拽结束。
class JoyStick : MonoBehaviour,IDragHandler, IEndDragHandler
{
   
    //移动半径
    public float moveRadius;
    //移动速度
    public float moveSpeed = 10f;
    //记录摇杆初始位置
    private Vector3 initalPos;
	//玩家身上的控制脚本
	private PlayerController playerController;
	
	private void Awake()
    {
   
        initalPos = transform.position;
        playerController = GameObject.FindGameObjectWithTag("Player").GetComponent<PlayerController>();
    }
    
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值