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

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

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

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

Добавлен: 05.05.2024

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

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

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.



  • Roblox 2 Модуль


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



Для того чтобы открыть поле куда мы сможем написать скрипт нужно зайти в Explorer –→ после этого нажать на плюсик возле Workspace и выбрать Script






Instance.new("Part", workspace) 

где;

Instance - экземпляр 

new - новый 

Part -деталь 

workspace - рабочая среда 
1.2

A=Instance.new("Part", workspace)

A.BrickColor=BrickColor.Green()

wait(5)

A.BrickColor=BrickColor.Red()

где;

А - переменная 

Instance - экземпляр 

new - новый 

Part -деталь 

workspace - рабочая среда 

Green; Red() - цвет

BrickColor - Свойство, определяющее цвет детали по уже доступному набору цветов. 
Переменная — это то, что носит в себе значение.  
Пример: В киндере находиться игрушка. 

Игрушка - значение                                                      Киндер - Переменная 
Задание: сделать светофор, с мигающим блоком. Или же что-то свое придумать, где также будет мигающий блок. 

После решения задания, запишите ответ в тетрадку. 

2 урок: Бесконечный цикл и программные свойства



2.1

while true do

A=Instance.new("Part", workspace)

A.BrickColor=BrickColor.Random()

wait(0.1)

end
где;

While true do - Цикл, который переводиться как “Пока правда делай”

Random() - цвет 
2.2

f =Instance.new ("Part") -- Создать новую деталь

f.Parent =game.Workspace -- поместить ее на Workspace

f.Size =Vector3.new (10,15,10) -- сделать размер 10*15*10

f.Position =Vector3.new (0,15,0) -- установить положение

f.Name ="Base" -- задать имя Base детали

f.Anchored = true -- закрепить деталь якорем в воздухе

f.CanCollide = true -- включить столкновение, деталь не будет проходить сквозь предметы

f.Locked=true -- заблокировать деталь

f.BrickColor=BrickColor.new("Green") --зеленый цвет

f.formFactor="Plate"—симметричность детали


где;

Vector 3 – Конструктор который позволяет нам работать с размерами и координатами в 3D – пространстве.

Задание: создать с помощью кода 2.2 сферу желтого цвета, и изменить ей имя. Ответ записать в тетрадку.


3 урок: Программирование цветов.



Пример:

workspace.Part.BrickColor = BrickColor.Red()—по числовому индексу (208 вариантов оттенков)

workspace.Part.BrickColor = BrickColor.new(11) -- по значениям RGB 

workspace.Part.BrickColor = BrickColor.new(128,187,219) -- по названию цвета

workspace.Part.BrickColor = BrickColor.new(“Pastel Blue”) 
R- красный (red), G- зеленый (green) B- синий (blue).





Для программирования цветов понадобиться конструкторColor3, дающий больше возможностей при работе с цветами. Таким образом, вместо команды A.BrickColor.Random можно написать A.Color=Color3.new(0,10,0)
Таким образом, три числа Color.new означают три цвета. 
В цветовой модели RGB белый это 255,255,255, черный 0,0,0, серый – 0.5,0.5,0.5

A.Color=Color3.new(0.5,0.5,0.5) – сделаем цвет серый
Стоит также упомянуть о еще одном способе преобразования цвета с помощью команды fromRGB:                                    

A.Color=Color3.fromRGB(0,255,0)
Задание: создать Ёлку, где игрушка будет менять цвет с помощью скрипта. Ответ записать в тетрадку.

Урок 4: Система координат. Позиции объектов


Точка 0,0,0 находится в центре рабочего пространства. В нее при запуске игры по умолчанию «спавнится» наш игрок. 

4.1

X,Y,Z = 0,20,0 – выставим координаты 

while true do – Цикл “Пока правда делай”

A=Instance.new("Part",workspace) – Создание детали и помещение ее в рабочую среду 

A.Position=Vector3.new(X,Y,Z) –  Поместить  объект А в точку С соответствующими координатам

wait(0,1) – ожидание

end – конец цикла 
Добавляем новую деталь, можете сделать ее красного цвета для удобства. Поднимите деталь в воздух и закрепите ее якорем.

Которые каждый 0.1 сек будут перемещать красный блок. 
4.4 

X,Y,Z = 0,20,0

X1=0

while true do

A=Instance.new("Part",workspace)

A.Position=workspace.Part.Position

wait(0,1)

X1=X1+1 –Мы добавили переменную X1, равную 0. Внутрь цикла поместили команды

workspace.Part.Orientation=Vector3.new(X1,X1,X1) 

end


С помощью этого кода мы заставим блок вращаться по всем 3-мя осями 
Задание: как сделать так, чтобы с неба падали шары и все разных цветов? Ответ запишите в тетрадку

 

Урок 5: Рандомные значения



На языке Lua для генерации случайных чисел используются функция Random из математической библиотеки math.
Примеры:
X= math.random(1,10) – случайное число от 0 до 10

X= math.random() – от 0 до 1

X= math.random(5) – от 0 до 5

X= math.random(-100,20) – от -100 до 20

Разберем случайные числа на конкретном примере:

5.1

while true do -- Цикл 

X= math.random(-200,200)  -- Случайное число от -200 до 200

Z= math.random(-200,200) -- Случайное число от -200 до 200  

A=Instance.new("Part",workspace) Создание детали 

A.Position=Vector3.new(X,100,Z) -- Выставляем позицию. Где Vector3 это конструктор 

A.Size=A.Size*math.random(1,5) -- Добавили рандомный  размер 

A.BrickColor= BrickColor.Random() -- Рандомный цвет 

B=math.random(1,3) -- 

 if B==1 then A.Shape="Ball" end --С помощью команды if (если-тогда) запрограммируем случайную форму детали.

if B==2 then A.Shape="Cylinder" end

if B==3 then A.Shape="Block" end

wait(0.5) -- Ожидание 

end -- Конец 
Задание: сделают сами дождь из разноцветных блоков, а также, пусть пусть они падают по другим координатам.
6. Бомбометание и программирование регионов

 

Создание взрывных деталей 

6.1

while true do

X= math.random(-200,200) 

Z= math.random(-200,200) 

A=Instance.new("Part",workspace)

A.Position=Vector3.new(X,100,Z) 

A.BrickColor= BrickColor.Random()

A.Size=A.Size*math.random(1,5)

B=math.random(1,3)


if B==1 then A.Shape="Ball" end    

if B==2 then A.Shape="Cylinder" end

if B==3 then A.Shape="Block" end

wait(0.2)

C=Instance.new("Explosion", workspace) Создать взрыв

C.Position=A.Position - Прикрепим к взрыв к детали 

C.BlastRadius=15 – Радиус взрыва 

A:Destroy() --Для того чтобы деталь уничтожалась

game.Lighting.ClockTime=math.random(0,24) – Устанавливаем время на часах 

end





Сгенерировать ландшафт разных размеров и форм с помощью конструктора Region3.new.
Создание капли воды в воздухе.
6.2

A=Region3.new(Vector3.new(10,10,10), Vector3.new(20,12,20))– Создаем в переменной конструктор с размерами, которые задаем через конструктор Vector3 

A=A:ExpandToGrid(4) --Выравниваем область по сетке, с разрешением 4 

B=workspace:WaitForChild("Terrain") --Далее в переменной, находим объект Terrain

B:FillRegion(A,4,Enum.Material.Water) –Заполняем регион с помощью метода FillRegion

7 урок: Программирование простого движения и цикл FOR


Создадим ковер-самолет. Для этого потребуется обычный блок. Вытяните его и сплющить.

Далее программируем сам полет.

Для этого добавьте скрипт внутрь блока:

Пример как это сделать:]

Создаем деталь –→ Нажимаем на плюсик рядом с деталью –→ Выбираем Script


Теперь пропишем сам код:
7.1

A=script.Parent

while true do

A.Position=A.Position+Vector3.new(0.1,0,0)

wait()

end

for i=0,1, 0.2 do

print(i)

end
Цикл For – одна из самых полезных конструкций в программировании. For позволяет выполнять код несколько раз. 


8 урок: Цикл в цикле


Возьмем заготовку с прошлого урока. и попробуем создать лестницу. 

8.1

for x=1,50,4 do

A=Instance.new("Part",workspace)

A.Position=Vector3.new(x,x,0)

A.Anchored=true


end

Добавим к ней еще один цикл и поменяем второй нолик на переменную y:

8.2

for y=1,50,2 do

for x=1,50,4 do

A=Instance.new("Part",workspace)

A.Position=Vector3.new(x,y,0)             

A.Anchored=true

end

wait(0.1)

end

Добавим третий цикл:

8.3

for z=1,50,2 do

for y=1,50,2 do

for x=1,50,4 do

A=Instance.new("Part",workspace)

A.Position=Vector3.new(x,y,0)

A.Anchored=true

end

end

wait(0.1)

end
Дело за малым – с каждым шагом цикла уменьшаем размер слоя пирамиды. Для этого добавим две переменные, допустим C и D:

C,D=1,50

Заменим исходные значения в циклах 0 на C,50 на D.

И перед последним оператором end поставим:

A=A+2

B=B-2

Итог кода:

8.4

for z=1,50,2 do

for y=1,50,2 do

for x=1,50,4 do

A=Instance.new("Part",workspace)

A.Position=Vector3.new(x,y,z)

A.Anchored=true

end

end

wait(0.1)

C=C+2

D=D-2

end
 

9 урок: Событие при изменении движения


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

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

 

Итак, добавляем шар, прикрепляйте скрипт

Сам код скрипта:

A=script.Parent

while A.Velocity.Magnitude<0.1 do

wait()

end

B=Instance(“Smoke”,A)

Запускайте скрипт и толкайте свой шар.

 

Команда Velocity.Magnitude