MouseHoverLeave
The MouseHoverLeave event fires when a player’s Mouse|mouse
moves off of the ClickDetector
's parent. This event fires when using either a Script
or LocalScript
.
Due to the nature of user input, you ought not depend on all ClickDetector/MouseHoverEnter|MouseHoverEnter
events to fire a matching MouseHoverLeave event.
The player does not have to click the ClickDetector for this event to fire. If you want an function to run when the player clicks, you can use ClickDetector/MouseClick
and ClickDetector/RightMouseClick
events.
Parameters
Name | Type | Default | Description |
---|---|---|---|
|
The |
Code Samples
Mouse Hovering On and Off of a ClickDetector
The below code will print “Oh my… PlayerName left the confines of my parent” when a player’s mouse is moved off of the ClickDetector|ClickDetector's
parent, replacing “PlayerName” with the player’s name.
It will also print “Oh my… PlayerName hovered over my parent” when a player’s mouse hovers over the ClickDetector’s parent, replacing “PlayerName” with the player’s name.
In order for this example to work as expected, it must be placed in a Script
or LocalScript
whose parent is the ClickDetector.
script.Parent.ClickDetector.MouseHoverLeave:Connect(function(Player)
print("Oh my... " .. Player.Name .. " left the confines of my parent")
end)
script.Parent.ClickDetector.MouseHoverEnter:Connect(function(Player)
print("Oh my... " .. Player.Name .. " hovered over my parent")
end)
Creating a ClickDetector Door
The code sample below demonstrates the functionality of a ClickDetector
and its properties and events.
First the code creates a ClickDetector and set’s its Instance/Parent|parent
to the door
. It also sets the ClickDetector/MaxActivationDistance|maximum distance
players can interact with the ClickDetector to 10 studs and set’s the ClickDetector’s ClickDetector/CursorImage|CursorImage
to:
Then, the code connects the ClickDetector to several events, including changing the door’s BasePart/Transparency
when the player’s mouse hovers ClickDetector/MouseHoverEnter|on
and ClickDetector/MouseHoverLeave|off
off the door. The player opens the door by ClickDetector/MouseClick|left clicking
their mouse while over the ClickDetector and closes the door by ClickDetector/RightMouseClick|right clicking
their mouse while over the ClickDetector.
This code works in a Script
and a LocalScript
as long as the script’s parent is the door BasePart|Part
.
-- The door 'BasePart'
local door = script.Parent
-- Asset ID of the image you want the to set the cursor to
local CursorId = "2287179355"
-- Create a ClickDetector
local ClickDetector = Instance.new("ClickDetector")
ClickDetector.Parent = door
ClickDetector.MaxActivationDistance = 10
ClickDetector.CursorIcon = "rbxassetid://"..CursorId
-- Make door slightly transparent when mouse hovers over it
ClickDetector.MouseHoverEnter:Connect(function()
door.Transparency = 0.1
end)
-- Door is not transparent when mouse is not hovering over it
ClickDetector.MouseHoverLeave:Connect(function()
door.Transparency = 0
end)
-- Open door on left mouse click
ClickDetector.MouseClick:Connect(function()
door.Transparency = 0.8
door.CanCollide = false
end)
-- Close door on right mouse click
ClickDetector.RightMouseClick:Connect(function()
door.Transparency = 0.1
door.CanCollide = true
end)