摇杆"/>
Lua实现摇杆
lua实现 摇杆
local drag = Obj_Plus.class()function drag:ctor(uiPerfab)self.panel = uiPerfab--获取大图rectself.bar=self.panel.transform:GetComponent(typeof(RectTransform));--获取小图rectself.er= self.panel.transform:Find("br"):GetComponent(typeof(RectTransform));--记录小图最开始位置self.v2 = self.er.anchoredPosition;--求出大图半径self.bj =self. bar.rect.width / 2;--拖拽开始self.event_BeginDrag= UIEventListener.AddEvent(self.er.gameObject):AddListenerEds(EventTriggerType.BeginDrag,function (event)end);--拖拽中self.event_Drag= UIEventListener.AddEvent(self.er.gameObject):AddListenerEds(EventTriggerType.Drag,function (eventData)local p = eventData.position;--获取屏幕转世界的坐标local flag ,pos= RectTransformUtility.ScreenPointToLocalPointInRectangle(self.bar, p, eventData.enterEventCamera);self. er.anchoredPosition = pos;--判断小图的距离是否超过半径if (self.er.anchoredPosition.magnitude >self. bj) thenself.er.anchoredPosition = self.er.anchoredPosition.normalized *self. bj;end--local vector = self.er.anchoredPosition;end);
--拖拽结束self.event_EndDrag= UIEventListener.AddEvent(self.er.gameObject):AddListenerEds(EventTriggerType.EndDrag,function (eventdata)--让小图回到原来的位置 self.er.anchoredPosition =self. v2;end);
endreturn drag
更多推荐
Lua实现摇杆
发布评论