UIEventTrigger
helloz 4/3/2024 Unity3d
funtions
functions | parameter | describe |
---|---|---|
transform:AddPointerEnter(fun) transform:AddPointerExit(fun) transform:AddPointerDown(fun) transform:AddPointerUp(fun) transform:AddPointerClick(fun) | UnityAction<"BaseEventData"> callback | Add listened events |
transform:RemovePointerEnter(fun) transform:RemovePointerExit(fun) transform:RemovePointerDown(fun) transform:RemovePointerUp(fun) transform:RemovePointerClick(fun) | UnityAction<"BaseEventData"> callback | Remove listened events |
other
If you need event types other than "enter, exit, down, up, click", you can use the following
functions | parameter | describe |
---|---|---|
CS.UITrigger.AddListener(tf,evtType,fun) | 1.Transform object 2. UnityEngine.EventSystems.EventTriggerType 3.UnityAction<"BaseEventData"> callback | Add listened events |
CS.UITrigger.RemoveListene(tf,evtType,fun) | 1.Transform object 2. UnityEngine.EventSystems.EventTriggerType 3.UnityAction<"BaseEventData"> callback | Remove event |
EventSystems.EventTriggerType
lua code
-- evt:UnityEngine.EventSystems.BaseEventData
EventTriggerType = CS.UnityEngine.EventSystems.EventTriggerType
function Start()
print("BeginDrag:",EventTriggerType.BeginDrag)
----fun 1:----------------------------------
transform:AddPointerEnter(OnEnter)
transform:AddPointerExit(OnExit)
transform:AddPointerDown(OnDown)
transform:AddPointerUp(OnUp)
transform:AddPointerClick(OnClick)
----fun 2:----------------------------------
-- CS.UITrigger.AddListener(transform,EventTriggerType.PointerEnter,OnEnter)
end
function OnDestroy()
transform:RemovePointerEnter(OnEnter)
transform:RemovePointerExit(OnExit)
transform:RemovePointerDown(OnDown)
transform:RemovePointerUp(OnUp)
transform:RemovePointerClick(OnClick)
end
function OnEnter(evt)
print(transform.name," enter",evt)
end
function OnExit(evt)
print(transform.name," exit",evt)
end
function OnDown(evt)
print(transform.name," down",evt)
end
function OnUp(evt)
print(transform.name," up",evt)
end
function OnClick(OnClick)
print(transform.name," click",evt)
end
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
36
37
38
39
40
41
42
43
44
45
46
47
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
36
37
38
39
40
41
42
43
44
45
46
47
DragUI
Bind the current script to the UI:Image object scene 6953
--dragImgUI.lua
local EventTriggerType = CS.UnityEngine.EventSystems.EventTriggerType
function Start()
CS.UITrigger.AddListener(transform,EventTriggerType.BeginDrag,OnBeginDrag)
CS.UITrigger.AddListener(transform,EventTriggerType.EndDrag,OnEndDrag)
CS.UITrigger.AddListener(transform,EventTriggerType.Drag,onDrag)
end
function OnDestroy()
CS.UITrigger.RemoveListener(transform,EventTriggerType.BeginDrag,OnBeginDrag)
CS.UITrigger.RemoveListener(transform,EventTriggerType.EndDrag,OnEndDrag)
CS.UITrigger.RemoveListener(transform,EventTriggerType.Drag,onDrag)
end
local isCanDrag=false
function OnBeginDrag(evt)
isCanDrag =true
end
function OnEndDrag(evt)
isCanDrag =false
end
function onDrag(evt)
if isCanDrag ==true then
--print(evt)
--evt.position :Screen coordinates
transform.position = Vector3(evt.position.x,evt.position.y,0)
end
end
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
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