Всем привет! 👋
Хотите, чтобы ваши объекты в игре светились, когда на них наводится мышка? Это супер легко сделать с помощью небольшого скрипта! Сегодня я расскажу, как добавить классную подсветку, которая будет выделять контур объекта зеленым цветом.
Как это работает? 🤔
Этот код заставляет объекты подсвечиваться, когда на них наводится курсор. Давайте разберем его по частям:
-- Импортируем необходимые сервисы
local CollectionService = game:GetService("CollectionService")
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
Тут мы подключаем нужные сервисы из Roblox, чтобы управлять объектами, игроком и мышкой.
-- Получаем локального игрока и его мышь
local Player = Players.LocalPlayer
local Mouse = Player:GetMouse()
Эти строчки помогают нам узнать, кто сейчас играет и где находится его мышка.
-- Удаляем существующие подсветки
for _, obj in pairs(game.Lighting:GetChildren()) do
if obj:IsA("Highlight") then
obj:Destroy()
end
end
Этот код убирает все старые подсветки, чтобы они не мешали нашей новой подсветке.
-- Создаем Highlight для подсветки
local highlight = Instance.new("Highlight")
highlight.Parent = game.Lighting
highlight.OutlineTransparency = 1 -- Полная прозрачность для скрытия
highlight.FillTransparency = 1 -- Сделать заливку прозрачной
highlight.OutlineColor = Color3.new(0, 1, 0) -- Зеленый цвет для контура
highlight.Adornee = nil -- Без объекта для подсветки
Здесь мы создаем новую подсветку, делаем её невидимой (прозрачной), выбираем зеленый цвет для контура (или любой другой на выбор), и говорим, что пока она ни к чему не привязана.
-- Функция для проверки наличия тега у объекта
local function hasHighlightTag(obj)
return CollectionService:HasTag(obj, "Highlight")
end
Эта функция проверяет, есть ли у объекта специальный тег под названием "Highlight".
-- Обработчик движения мыши
Mouse.Move:Connect(function()
-- Проверяем новый Target (объект под курсором)
local target = Mouse.Target
-- Ищем родительскую модель
local model = target:FindFirstAncestorOfClass("Model")
-- Если модель найдена и у нее есть тег "Highlight"
if model and hasHighlightTag(model) then
-- Если у объекта есть тег "Highlight", показываем подсветку
highlight.Adornee = model
highlight.OutlineTransparency = 0 -- Сделать обводку видимой
else
-- Если нет, скрываем подсветку
highlight.OutlineTransparency = 1 -- Сделать обводку прозрачной
highlight.Adornee = nil -- Убрать объект для подсветки
end
end)
Этот код следит за мышкой :
Когда мышка наводится на объект, он проверяет, есть ли у объекта тег "Highlight".
Если тег есть, появляется зеленая обводка вокруг объекта! ✨
Если тега нет, обводка исчезает.
Где разместить этот скрипт? 📍
Этот скрипт нужно разместить в LocalScript, который находится в StarterPlayerScripts.
Вот как это сделать:
Откройте вкладку Explorer в Roblox Studio.
Найдите StarterPlayerScripts и нажмите справа от него на плюс ➕.
Выберите LocalScript.
Скопируйте код и вставьте его в LocalScript.
Как это работает? 🤔
В Roblox Studio добавьте тег "Highlight" к нужным моделям (не к отдельным частям, а ко всей модели!).
Запустите игру.
Наведите мышку на модель с тегом "Highlight".
Вокруг модели появится зеленая обводка! 🟢
Теперь вы знаете, как добавить интерактивную подсветку в свои игры! Это сделает их более классными и интересными. Экспериментируйте и создавайте свои уникальные эффекты! 😎
Удачи в ваших игровых проектах! 🚀
Есть вопросы? 🤔
Пишите в комментариях, если что-то не получается или хотите узнать больше! Помогу всем! 😉
Подписывайтесь на канал, чтобы не пропустить новые разборы скриптов для создания игр! 🔔
#Roblox #Lua