首页 > Unity3D频道 > 【UGUI研究院】 > UGUI研究院之游戏摇杆(二十一)
2016
03-18

UGUI研究院之游戏摇杆(二十一)

最近在做Unity基于UGUI的摇杆,发现了一种非常简单并且巧妙的方法,原文在这里, 不过要翻墙!!http://godstamps.blogspot.tw/2015/07/unity-ugui-scrollrect.html

它的原理就是利用ScrollRect来限制摇块的摇动区域,但是ScrollRect是矩形的,我们的摇杆的摇动区域应该是个圆形的才对。所以顺着这个思路我简单的改了改。

如下图所示, ScrollCircle就是摇杆的背景, 里面的Image就是摇块。

UGUI研究院之游戏摇杆(二十一) - 雨松MOMO程序研究院 - 1

 

代码

UGUI研究院之游戏摇杆(二十一) - 雨松MOMO程序研究院 - 2

 

几行代码就出来了。然后就是摇杆的事件, 可以用UGUI的源生事件 IEndDragHandler , IBeginDragHandler

怎么样? 用UGUI做摇杆简单吧?

最后编辑:
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
捐 赠写博客不易,如果您想请我喝一杯星巴克的话?就进来看吧!

UGUI研究院之游戏摇杆(二十一)》有 17 条评论

  1. zgx 说:

    那如果说我想先把它隐藏掉,点击哪个位置让他在哪出现,这样的话必须第二次点击才能触发OnDrag()方法,这个有什么解决办法呢?

  2. 一一一一 说:

    你好,想请问一下,继承ScrollRect,然后在里面添加public的属性,却不会显示在检视面板上,想问下是怎么回事,以及应该如何解决。

  3. 远去之情 说:

    Assets/ScrollCircle.cs(14,14): warning CS0114: ScrollCircle.Start()' hides inherited member UnityEngine.EventSystems.UIBehaviour.Start()’. To make the current member override that implementation, add the override keyword. Otherwise add the new keyword 导入这段代码,出现提示如上。该怎么做

  4. 远去之情 说:

    这岂不是很好吗 用了。

  5. 这个以后可能用得到。。连插件都省了

  6. 元子 说:

    矩形框怎么做处理呢? 发现左边和左下拉不到指定位置。被rect锁死了。

  7. 秦元培 说:

    赞!简洁地出乎意料!

留下一个回复

你的email不会被公开。