Файл: 1 урок Смена цвета блоков.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 05.05.2024

Просмотров: 26

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
переводится как «Величина скорости». Если она меньше 0.1 ничего не происходит. Цикл while ждет, так как в нем есть условие
while A.Velocity.Magnitude<0.1 do

wait

end

Если величина скорости изменится, шар покатиться и задымиться. Если он дымится сразу, возможно, ты его поместил не на землю, а повесил в воздухе. Далее, через 5 секунд подожжем его:

wait(5)

B=Instance.new(“Fire”,A)

B.Size=10
Проверяй. А еще через 5 секунд взорвем:

wait(5)

C= Instance.new(“Explosion”,A)

C.BlastRadius=20

wait(0.1)

A:Destroy()

Проверяй. Работает? Взорвалось! БАМ!

 

 

Это глагол, а в программировании глагол – это метод, пишется через двоеточие A:Destroy(). Означает – уничтожить шар А.

Ты можешь преобразить процесс перед взрывом. Добавь рандомное мерцание:

for i=1,5 do

A.BrickColor=BrickColor.Random()

wait(0.1)

end 

Итак, весь код к данному уроку:

 

A=script.Parent

while A.Velocity.Magnitude<0.1 do

wait()

end

for i=1,5 do

A.BrickColor=BrickColor.Random()

wait(0.1)

end

B=Instance.new(“Smoke”,A)

wait(5)

B=Instance.new(“Fire”,A)

B.Size=10

wait(5)

C=Instance.new(“Explosion”,A)

C.BlastRadius=20

wait(0.1)

A:Destroy()

10 урок: События при касании


Перейдем к более сложному материалу. В этом уроке ты программируешь события на касание игрока. Начнем так же, как в предыдущем уроке. Добавим сферу, присоединим к ней скрипт:

A=script.Parent

function B()

print (“131541”)

end

A.Touched:Connect(B)

Ладно ладно, не буду вас томить. Смысл данного кода в том, что если кто-то касается сферы (переменная А), то вызывается функция B. Главная фраза скрипта:

A.Touched:Connect(B)

Запускаем, проверяем. Коснемся персонажем шара. Далее проверим окно консоли (Output) команда print должна написать:

Есть касание! (X5)

Поздравляю, событие сработало! Ну а теперь внутрь функции можно добавить и огонь, и дым, и взрыв.


function B()

B=Instance.new(“Smoke”,A)

wait(5)

B=Instance.new(“Fire”,A)

B.Size=10

end

 

Смысл понятен? Все просто. Обратите внимание, что к сфере нужно прикрепить якорь, в противном случае событие сразу сработает от касания (соприкосновения) с землей.

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

Многие экшен-игры изобилуют опасностями – ямы с шипами, реки из лавы, Террано Минами АКА. Саус, минные поля. Сейчас мы с вами, используя ранее полученные знания, запрограммируем мину.

Начнем. Добавьте кирпич, сделайте его прозрачным. Как сделать его прозрачным вы должны знать, это приходилось еще на первом модуле. Если не помните, то можете задать ему прозрачность через код, так мы уже тоже делали. Если все-таки с этим проблемы, то подскажу, зайдите в Properties.

Далее закопайте нашу мину в землю используя «Move». Чтобы мина вошла в землю, отожмите пиктограммы «Collisions» «Join Surface». Осталось прикрутить к кирпичу скрипт, который мы уже писали:

A=script.Parent

function B()

B.Instance.new(“Fire”,A)

B.Size=10

end

A.Touched:Connect(B) 

 

Не забудьте, что сделать? Правильно, повесить якорь на мину. Запускаем. Работает? Если персонаж наступает на мину – мина загорается. Но нам нужен взрыв. Добавь в функцию код для взрыва:

 

B=Instance.new(“Explosion”,workspace)

B.Position=A.Position

B.BlastRadius=20

 

Если все нормально работает, код огня можно убрать. А после этого размножить свои мины.