(Unity)EasyTouch插件去掉EasyTouchControlsCanvas后摇杆失灵问题

在使用EasyTouch插件创建摇杆时,由于默认的EasyTouchControlsCanvas导致摇杆操作失灵。解决办法是将摇杆移出EasyTouchControlsCanvas,并确保UI的渲染模式设置为'Screen Space - Overlay'。若不想更改渲染模式,可以在ETCJoystick.cs脚本中调整Canvas的引用,使其指向项目的UI Canvas。
摘要由CSDN通过智能技术生成

    开发使要用到摇杆,选择了使用EasyTouch插件(在此具体创建等基本操作就不多说,网上很多),由于创建Joysick时自带一个EasyTouchControlsCanvas为父节点,里面挂了一个Canvas用以渲染。但一般项目用,已有渲染UI的Canvas并且这个摇杆属于UI,是放在UI里 节点下的,所以要去掉EasyTouchControlsCanvas。

    直接去掉,把Joysick放在UI下面,如果UI的渲染模式不是 Screen Space - Overlay,会发现里面摇杆失灵了,这里最快的方法是直接改成该模式。如是不改,则按以下操作

这里找到找到EasyTouch中使用到Canvas的代码:

一、先在项目中把其获取的Canvas改为当前项目中UI的Canvas(找对应该的调用地方)

二、在ETCJoystick.cs角本里面,修改以下代码。

public void OnDrag(PointerEventData eventData){

...
     /*  by game winner LUO
             *  删除原EasyTouchControlsCanvas,用项目UICanvas替代
             *  
			if (!isNoReturnThumb){
				thumbPosition =  (eventData.position - eventData.pressPosition) / cachedRootCanvas.rectTransform().localScale.x;
			}
			else{
				thumbPosition =((eventData.position - noReturnPosition) /cachedRootCanvas.rectT
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值