Прежде всего, чтобы выполнить какое-либо действие при касании кирпича, вам нужно будет использовать .Touched
вашего кирпича. У вашего кирпича есть этот атрибут, потому что это тип данных, называемый Part
.
Во-вторых, я не уверен, как вы хотите, чтобы графический интерфейс открывался, но самый простой способ - включить его с помощью _ 3_ вашего элемента графического интерфейса. Это просто заставит его появиться на экране. У элемента GUI есть этот атрибут, потому что это GuiObject
, будь то фрейм, TextButton или что-то еще.
Код будет выглядеть примерно так:
brick = path.to.part.here
gui = path.to.gui.here
function activateGui() --shorthand for "activateGui = function()"
gui.Enabled = true
end
brick.Touched:connect(activateGui)
Обратите внимание, что .Enabled
- это boolean
(true
или false
). Также обратите внимание, что .Touched
- это специальный объект с функцией :connect(func)
. Это потому, что .Touched
на самом деле является Event
. Все Event
имеют специальную :connect(func)
функцию, которая принимает аргумент другой функции func
, которая должна выполняться при возникновении события. В этом случае мы попросили, чтобы событие .Touched
кирпича выполнялось activateGui
, когда оно происходит.
Кроме того, для .Enabled
по умолчанию установлено значение true
, поэтому для того, чтобы этот метод работал, убедитесь, что вы установили для него значение false
в ROBLOX Studio, сняв флажок .Enabled
на вкладке «Свойства» для элемента графического интерфейса. Обратите внимание, что вам не нужно делать это для каждого отдельного элемента графического интерфейса; Если вы установите .Enabled
в значение false для определенного элемента, все его дочерние элементы также будут автоматически скрыты, поэтому вам нужно сделать это только для родительского элемента.
Наконец, вы должны сделать это в Local Script
. Поскольку графический интерфейс уникален для каждого игрока, он фактически обрабатывается компьютером каждого игрока, а не самим сервером ROBLOX. Local Scripts
- это скрипты, которые специально обрабатываются компьютером игрока, а не сервером, поэтому критично, чтобы вы не пытались сделать это с помощью обычного Script
< / a>, который обрабатывается сервером.
Для вашей информации приведенный выше код можно сжать до следующего, если вы хотите:
brick = path.to.part.here
gui = path.to.gui.here
brick.Touched:connect(function()
gui.Enabled = true
end)
Это потому, что вам не нужно создавать функцию, давать ей имя и затем присваивать это имя .Touched
; вместо этого вы можете просто создать его прямо на месте.
person
NetherGranite
schedule
05.08.2018