Lua - это мощный скриптовый язык,
Через lua можно менять мир Roblox.
Можно создать игру со своим сценарием.
Lua - это мощный скриптовый язык,
Через lua можно менять мир Roblox.
Можно создать игру со своим сценарием.
В Roblox Studio доступны объекты моделирования физики:
AlignPosition(Выравнивание позиции) - это компонент, который позволяет выравнивать позицию одного объекта (дочернего) относительно другого (родительского), тем самым создает движение объекта;
AlignOrienation(Выравнивание ориентации) - это компонент, который позволяет выравнивать ориентацию (поворот) одного объекта (дочернего) относительно другого (родительского), тем самым стабилизирует положение объекта и не дает ему перевернуться;
Аttachment(Присоединение) - наличие этого объекта, есть необходимое требование для работы AlignPosition и AlignOrienation.
Применение этих объектов позволяет нам создать двигающуюся платформу на базе объекта класса Part. Физические свойства класса Part приведены в таблице
Свойство | Описание | Значение |
---|---|---|
Anchored | Фиксирует объект в пространстве, не позволяя ему двигаться. | Логическое значение (true/false). |
Mass | Масса объекта. | Числовое значение, измеряемое в килограммах (kg). |
Friction | Коэффициент трения, определяющий, как объект будет двигаться по поверхности. | Числовое значение от 0 до 1. Чем выше значение, тем больше трение. |
Elasticity | Коэффициент упругости, определяющий, насколько объект будет отскакивать от других объектов. | Числовое значение от 0 до 1. Чем выше значение, тем больше упругость. |
CanCollide | Включает или отключает возможность столкновения с другими объектами. | Логическое значение (true/false). |
Для того, чтобы заставить объект Part (принадлежащий workspace) двигаться, необходимо создать новый объект Script в службе ServerScriptService. Кнопка "+" в окне Explorer справа от службы, поменять имя объекта на Script_move (свойство Name) и добавить строчки кода:
local part = game.Workspace.Part
-- направление в точку A
local fromPosition = part.Position + Vector3.new(-100, 3 , 5)
-- направление в точку B
local toPosition = part.Position + Vector3.new(30, 3 , 5)
local alignPosition = Instance.new("AlignPosition", part)
local attachment = Instance.new("Attachment", part)
--Enum - это стандартный тип, который предоставляет множество предустановленных перечислений
alignPosition.Mode = Enum.PositionAlignmentMode.OneAttachment
--ссылка на присоединение
alignPosition.Attachment0 = attachment
alignPosition.MaxVelocity = 15
alignPosition.MaxForce = 10000000
local alignOrienation = Instance.new("AlignOrientation", part)
--Enum - для лучшей читабельности
alignOrienation.Mode = Enum.OrientationAlignmentMode.OneAttachment
--ссылка на присоединение
alignOrienation.Attachment0 = attachment
alignOrienation.MaxTorque = 10000000
while true do
part.AlignPosition.Position = fromPosition
task.wait(5)
part.AlignPosition.Position = toPosition
task.wait(5)
end
Запустите игру, Вы можете не только наблюдать за движением платформы, но и кататься на ней.
Создайте новый объект Part в службе workspace и дайте ему имя Part_one. Кнопкой "+" в окне Explorer справа от объекта Part_one добвьте новые объекты AlignPosition, AlignOrientation и Attachment и поменяйте их свойства в соответствии с таблицами свойств:
Свойство | Значение | Примечание |
---|---|---|
Mode | OneAttachment | В режиме одного присоединения |
Attachment0 | attachment | ссылаемся на данное присоединение |
MaxVelocity | 15 | Скорость |
MaxForce | 10000000 | Сила |
Свойство | Значение | Примечание |
---|---|---|
Mode | OneAttachment | В режиме одного присоединения |
Attachment0 | attachment | ссылаемся на данное присоединение |
MaxTorque | 10000000 | Крутящий момент |
Вы можете задать место назначения движущейся платформе меняя свойство объекта Align Position - Position (координата x, y, z).