Штумоз : другие произведения.

Lua примеры в Coregames

Самиздат: [Регистрация] [Найти] [Рейтинги] [Обсуждения] [Новинки] [Обзоры] [Помощь|Техвопросы]
Ссылки:


 Ваша оценка:
  • Аннотация:
    Lua программа Coregames Пример действия постоянное вращение

Lua примеры в Coregames

 []

     Lua программа Coregames
     Примеры.

     Особенности Coregames.

     Не смотря что игровой конструктор работает на Луа , это не тот язык к которому вы привыкли, так как он отличается из за архитектурной особенности .

      Я начну сразу с практичных примеров. Первый пример просто движение объекта .
     Мы можем работать с любым 3 D объектом.
      Я возьму мяч . В программе это Ball.

     И первое движение будет вращение . Если бы мы работали в скретч мы бы сделали построение логики таким образом.
     
 []
     мы бы взяли функцию повторять всегда , и задали поворот на угол в градусах…

     В Coregames ,три D графика.,потому мы можем смещать объект по трем направлениям условно по икс игрек и зет. (0.0.0)

     Код будет таким.

     script.parent:RotateContinuous(Rotation.New(0, 0, 200))

     Если сделать перевод , то получим

     script.parent: вращать непрерывно (Rotation.New (0, 0, 200))

     Где ротация показывает координаты вращения .
     Но если мы просто создаем скрипт ,напишем код , то работать не будет . Потому что нужна определенная последовательность .
     Для того чтобы код работал нужно создать Папку .network client context
     кликаем мышкой на панели справа
     
 []
     Выбираем

     
 []
     network network client context(контекст сетевого клиента) выбрать
     new network client context (новый сетевой клиентский контекст) и содать …
     Папку можно назвать как угодно .
     Пусть будет основная или корневая папка ….Вот в нее складываются остальные папки …
     Теперь делаем рабочую папку...Снова мышкой клик и получаем меню,там выбираем
     Создать папку.
     
 []
     пусть будет для объектов .
     Теперь берем эту папку и перетаскиваем в основную.
     
 []
     Вот мы вложили нашу для объектов в сетевую папку.
     Теперь давайте возьмем просто рабочий объект . Я возьму шар или мяч и перетащим его на сцену….
     
 []
     теперь берем наш Ball и перетаскиваем в папку для объектов
     
 []
     Вот теперь мы создаем наш скрипт .
     или как раньше правой мышкой, вызвав меню
     
 []
     Или через окошко сверху.
     
 []

     create Script выбираем создать create new Script Т.е создать новый скрипт .
     Пусть будет называться вращение.
     И перетаскиваем его в папку для обьектов
     
 []
     Вот так должна выглядеть наша Иерархия. Сетевая папка (Основная папка) внутри нее простая папка (Для объектов ) внутри Паки для объектов наш скрипт и сам объект Ball .
     Ну и перейдем к написанию нашего скрипта .
     Для этого дважды мышкой щелкаем по скрипту , и откроется окно для написания кода нашей программы.

     
 []
     И пишем сам код
     script.parent:RotateContinuous(Rotation.New(0, 0, 200))

     Все закрываем.
     
 []
     Выбираем сохранить .
     Теперь проверяем работу нашего кода .
     Для этого В верхнем окне нашей программы жмем кнопку Плей.
     
 []
     И видим как наш объект бегает по кругу .
     Для того чтобы он именно вращался, нужно выделить объект на сцене и сместить его чтобы точка вращения была по центру.
     
 []
     Для этого в меню объекта ball , мы просто установим в Строке позиции везде ноль .
     Position x=0 y=0 z=0
     а перемещать объект будем путем выделение папки объекта .
     Мы кликаем мышкой на папку Для объектов ,
     И видим что выделилась вся группа объектов .
     
 []
     И двигаем мы теперь группу.
     Запускаем ,проверяем ,вот у нас вращение не месте . Шар вращается на месте .
     Если мы хотим чтобы он летал вокруг какой то точки мы его смещаем. Выделив сам шар , и он будет летать по кругу .
     Если мы добавим объекты в папку Для объектов, все они также будут выполнять
     одинаковое движение. Вы можете группировать объекты.
     
 []
     Например я создала вот такой объект из группы объектов .И как видим они летают как один цельный объект .
     Если у вас много объектов, как установить позицию сразу всем?
     Их можно выделить как группу и назначить всем одинаковую позицию.
     
 []

     для этого нужно удерживая нажатой клавишу Cntrl добавить мышкой нужное количество объектов.

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

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

     Рассмотрим детали .
     Что будет если смещать объект не по Z ,а например по Y ?

     script.parent:RotateContinuous(Rotation.New(0, 10, 0))

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

     script.parent:RotateContinuous(Rotation.New(10, 0, 0))

     То есть меняя плоскость вращения мы можем получить разные эффекты которые можем использовать для создания эффекта вращения колес. Или Создать Мельницу или лопасть вертолета.

     Это был пример использования языка Луа в программе coregames , сайт coregames.com .
     Простой действие , основанное на логике постоянного вращения.

     автор Штумоз 08.12.20 года

 Ваша оценка:

Связаться с программистом сайта.

Новые книги авторов СИ, вышедшие из печати:
О.Болдырева "Крадуш. Чужие души" М.Николаев "Вторжение на Землю"

Как попасть в этoт список

Кожевенное мастерство | Сайт "Художники" | Доска об'явлений "Книги"