Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Вопрос по роблокс студио

Денис Денис Знаток (274), на голосовании 2 месяца назад
У меня в игре есть эффект пленки камеры как в телевизоре из 90, на компьютере вожу мышкой - все работает, а если нажимаю на экран на телефоне, то ничего не происходит, как это можно пофиксить? У меня этот эффект пленки в StarterGui на весь экран
Голосование за лучший ответ
Иван Ерёмин Знаток (374) 3 месяца назад
Это может быть связано с тем, что скрипт, который отвечает за эффект пленки, не обрабатывает события касания экрана на мобильных устройствах. Чтобы это исправить, вам нужно добавить обработчик событий касания в скрипт, который управляет эффектом пленки.

Вот пример кода, который добавляет обработчик событий касания для скрипта, который находится в StarterGui:


-- Этот скрипт должен быть прикреплен к StarterGui

local gui = game:GetService("StarterGui")
local player = game:GetService("Players").LocalPlayer

-- Функция, которая будет вызываться при касании экрана
function onTouch(player, hit)
-- Здесь должна быть логика обработки касания
end

-- Подписываемся на событие касания экрана
player.InputBegan:Connect(function(input, gameProcessedEvent)
if input.UserInputType == Enum.UserInputType.Touch then
local ray = Ray.new (input.Position, Vector3.new (0, -1, 0))
local hit, position = workspace:FindPartOnRayWithIgnoreList(ray, {player.Character})
if hit then
onTouch(player, hit)
end
end
end)

-- Теперь можно вызывать функцию onTouch из других скриптов
gui.SetCore("onTouch", onTouch)
В этом примере функция onTouch будет вызываться каждый раз, когда игрок касается экрана. Вам нужно будет заменить onTouch на свой собственный обработчик событий, который будет управлять эффектом пленки.

Убедитесь, что скрипт, который вызывает функцию onTouch, также находится в StarterGui, иначе функция не будет вызвана.
Похожие вопросы