fbpx

Каталог статей

Каталог статей для размещения статей информационного характера

Как выучить

Как использовать события в Roblox – самоучитель по Lua Scripting

Как использовать события в Roblox – самоучитель по Lua Scripting

В этом уроке мы узнаем о событиях в Roblox.

Событие позволяет другим объектам получить уведомление о действии, которое произошло в игре. Например, мы можем получить уведомление о том, что игрок коснулся определенного объекта, прослушав событие Touched этого объекта.

Чтобы проиллюстрировать это, давайте создадим объект, который меняет цвет, когда игрок подходит к нему.

Добавьте новую часть в представление игры и переименуйте ее в TouchButton . Измените ее размер на ‘ 3, 3, 3 ‘ в окне свойств, затем измените цвет на красный и материал на Neon (на вкладке Home):

Вернитесь в окно свойств части TouchButton, включите опцию ‘ Anchored ‘ и отключите опцию ‘ CanCollide ‘, поскольку мы хотим, чтобы игрок мог проходить через наш куб:

Также переместите ее немного вверх с помощью инструмента Move (на вкладке Home).

Теперь, когда у нас есть кнопка, давайте сделаем так, чтобы она становилась зеленой при прикосновении к ней.

Создайте сценарий для нашей сенсорной кнопки и назовите его ‘ TouchButton ‘.

Мы начнем с доступа к части (которая является родителем нашего сценария) и подключимся к событию Touched. Затем мы передаем функцию с частью, которая коснулась нашей кнопки, в качестве параметра. Если мы нажмем Play и проверим консоль, то увидим, что сообщение было выведено несколько раз. Это происходит потому, что наш игрок состоит из нескольких различных частей, таких как голова, руки, ноги и т. д.

Чтобы наша кнопка изменила цвет на зеленый, давайте присвоим ей новый цвет следующим образом:

Наконец, давайте посмотрим на событие, которое вызывается, когда игрок присоединяется к игре.

Здесь мы делаем ‘ game.Players ‘ для доступа к службе Players (видимой в нашем окне Explorer), а затем слушаем событие PlayerAdded.

Играя в игру, мы должны увидеть свое имя, напечатанное вместе с сообщением в окне Output.

Транскрипт

Привет всем. В этом уроке мы будем рассматривать события в Roblox Studio. Итак, прежде всего, что такое событие?

По сути, событие – это что-то, что позволяет другим объектам получать уведомления, понятно? Например, если игрок коснулся определенного объекта, мы можем подключиться к этому событию, событию касания, и получить уведомление, когда игрок коснулся этого объекта, хорошо?

Это похоже на вызов функции, но гораздо более универсально и позволяет нам подключать столько вещей, сколько мы хотим, хорошо? Так, например, у нас может быть большое поле из сотен кубиков, например.

И когда игрок, например, нажимает на кнопку, все эти кубики могут измениться на зеленые, понятно? Это то, что событие позволит нам сделать. Итак, мы создадим маленькую кнопку. Она будет становиться зеленой, когда мы заходим в нее, хорошо?

Когда мы войдем в объект, она

Пока мы здесь, давайте также включим Anchored и отключим CanCollide, потому что мы хотим, чтобы игрок мог проходить через этот объект. Хорошо, может быть, передвинем его немного вверх, вот так, и готово. Теперь давайте сделаем так, чтобы этот объект становился зеленым при прикосновении к нему.

Для этого я прикреплю к нему скрипт вот здесь. Этот скрипт я переименую в touch button, как и наш объект. И вот мы здесь. Итак, прежде всего, нам нужно получить нашу реальную часть, хорошо? Часть сенсорной кнопки, которую мы будем проверять. Итак, я создам локальную переменную под названием parts, которая равна script, ой, script.parent.

Сценарий прямо здесь, родительский объект будет сенсорной кнопкой. Именно к нему мы и обращаемся. Итак, теперь, когда у нас есть ссылка на эту сенсорную кнопку, мы можем подключить событие касания, хорошо? Итак, как мы это сделаем?

Если мы напечатаем “часть”, а затем поставим точку, вы увидите, что появится список со всеми различными вещами, на которые мы можем посмотреть. И если вы прокрутите список вниз, вы увидите, что большинство из них имеют этот синий маленький кубик рядом с ним. Это свойство.

Если вы посмотрите на вкладку свойств в правом нижнем углу, то увидите, что это все поля, которые мы можем изменить. Имя, цвет, непрозрачность, родительский объект, размер, положение. Но если вы прокрутите вниз еще немного, вы начнете видеть эти молнии, хорошо?

Такие, как “ребенок добавлен”, “изменен”, “коснулся”, “касание завершено”, и это все события, понятно? Итак, эти молнии – события, на которые мы можем подписаться или подключиться к ним. И мы будем слушать, когда эти события будут вызваны. И когда они будут вызваны, мы получим уведомление, и сможем делать с ним все, что захотим.

Событие, которое мы хотим сделать, это спуститься вниз и найти прикосновение, хорошо? Прикосновение – это событие, которое есть у каждой детали в Roblox, понятно? Каждая деталь в Roblox, к которой может прикоснуться игрок или в которую может войти игрок, имеет это событие. И это событие касания остывает или вызывается, когда игрок входит или прикасается к детали, хорошо?

И что мы здесь делаем, так это подключаемся к нему. Итак, одинарное двоеточие connect и внутри круглых скобок, здесь нам нужно создать новую функцию, которая будет холодной, хорошо? Итак, мы создадим здесь функцию, и нам нужно отправить одну постоянную.

И объект, который будет отправлен, будет касающейся частью, хорошо? То есть, по сути, какая бы часть нас не коснулась, она будет отправлена, в нашем случае это будет игрок, когда игрок коснется части, но это не обязательно должен быть игрок.

Это также может быть снаряд, может быть катящийся шар, который катится через этот куб. Это событие все равно будет вызываться. Итак, когда игрок или что-либо еще коснется этого объекта, это событие будет вызвано. И поскольку мы подключены к нему, эта карта будет запущена здесь.

Итак, мы можем вывести на печать и, допустим, сказать: “Кнопка touch была затронута”, хорошо? Мы можем нажать кнопку play и проверить это. Итак, у нас есть наша сенсорная кнопка

Сенсорная кнопка была затронута 16 раз. И это потому, что наш игрок состоит из множества различных частей. У нас есть руки, ноги, туловище, голова, волосы. Поэтому его называют несколько раз, понятно? Но, как вы видите, он определяет, когда мы касаемся этого куба вот здесь, как вы видите, он поднимается, поднимается и снова поднимается.

И события очень мощны в этом смысле, так же как и эти готовые события, которые есть у этих объектов, вы также можете пойти вперед и создать свои собственные. В следующем уроке мы рассмотрим создание уникальных и пользовательских событий.

А пока давайте изменим этот цвет на красный. Как мы это сделаем? Ну, что мы сделаем, так это удалим вот эту строку кода с печатью, и сделаем цвет зеленым. Для этого мы можем сделать part.color равным color3.new.

И если вы являетесь членом color3 требует три различных параметра, красное, зеленое и синее значение. Теперь, поскольку мы смогли сделать этот цвет зеленым, мы дадим ему ноль для красного, для зеленого, единицу и ноль для синего. Таким образом, это будет полностью синяя или полностью зеленая кнопка, хорошо?

Чтобы мы могли сохранить это, нажмите кнопку play. И давайте посмотрим, станет ли она зеленой, когда мы коснемся ее. Итак, давайте перейдем сюда, и вот, она стала зеленой. Вот как вы можете использовать события для этих клиентов или кнопок. Вы даже можете иметь контрольные точки.

Так, когда игрок прыгает и приземляется на платформу, вы можете зарегистрировать, изменить место команды, чтобы она была связана с этой контрольной точкой. Существует широкий спектр различных вещей, которые вы можете сделать. В Roblox Studio события есть не только у частей, но и практически у всего.

Например, у нас может быть событие, которое остывает, когда игрок присоединяется к игре, или у нас может быть событие, которое остывает, когда включается лот, хорошо? Итак, давайте рассмотрим событие, которое остывает, когда игрок присоединяется к игре.

Для этого нам нужно, прежде всего, получить доступ к службе players, которая управляет всеми игроками в игре. И чтобы получить его, мы можем перейти к game.players, затем перейти к .playeradded, как вы можете видеть прямо здесь, это событие, colon connect, и нам нужно создать функцию с параметром игрока, который присоединяется, хорошо?

Итак, game.players обращается к этой службе прямо здесь. Затем мы смотрим на событие добавления игрока и подключаемся к этому событию. Итак, когда новый игрок присоединяется к игре, это событие добавления игрока будет холодным, и это означает, что эта карта будет запущена.

Теперь, допустим, мы хотим вывести на консоль сообщение о том, что игрок присоединился к игре, хорошо? Для этого мы можем напечатать, а затем напечатать player.name, добавить две точки, чтобы объединить это с другой строкой.

Затем в кавычках мы можем поставить пробел и написать has joined the game. И хорошо, вот так. Теперь, когда мы нажмем пять, чтобы сыграть в игру, мы должны увидеть внизу, в выводе, надпись “Вот так, я присоединился к игре”.

Итак, мы все это настроили, нам нужно было посмотреть на события, вот здесь. Я просто удалю это, чтобы не мешало. Хорошо бы действительно поместить код, относящийся только к этому сценарию, в этот сценарий, так что меняем цвет сенсорной кнопки на зеленый.

В следующем уроке мы рассмотрим создание некоторых пользовательских событий, а затем соединим эти события. Так что спасибо за просмотр, и до встречи в следующем уроке.

Хотите продолжить? Ознакомьтесь с нашим планом полного доступа, который включает 250+ курсов, управляемые учебные программы, новые курсы ежемесячно, доступ к экспертам-наставникам и многое другое!

Часть TouchButton

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *