UIEventTrigger

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

https://docs.unity.cn/550/Documentation/ScriptReference/EventSystems.EventTriggerType.html (opens new window)

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

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
Last Updated: Sat, 19 Apr 2025 07:13:50 GMT