PcoWSkbVqDnWTu_dm2ix
We use cookies on this site to enhance your user experience
Collapse Sidebar

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 Player whose mouse stopped hovering on the ClickDetector


Code Samples


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:

Custom cursor image

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)

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)