Пятница, 16 Апреля 2021, 19:42

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker Studio » Практика кривых линий в GM ([Версия для форумаЗдравствуйте!])
Практика кривых линий в GM
kukinillo777Дата: Вторник, 30 Декабря 2014, 13:06 | Сообщение # 1
частый гость
Сейчас нет на сайте
Здравствуйте! Это небольшое руководство о том, как можно сгладить анимацию в Game Maker`е. Допустим, нам нужно создать качающиеся деревья. Нам понадобиться спрайт дерева. (любого, например елка или береза). Назовем дерево tree01, а "качание" (помощника) helper01

Создадим объекты tree и helper и присвоим им спрайты tree01 (origin у корня) и helper01 (origin по центру) .

В Create к объекту tree запишем такой код:

Код
rot = 0
back = 0


В Step:

Код
if (back = 0) { rot += 0.5 } else {rot -= 0.5 }
if (rot < -5) { back = 0 }
if (rot > 5) { back = 1 }

image_angle = rot


Создаем комнату и ставим туда дерево. Результат, мягко говоря, не слишком впечатляющий. Как только дерево наклонилось на 5 градусов от 90 градусов, оно переключает свое движение в иную сторону. В итоге – на качающееся дерево не очень похоже.

И вот здесь то мы и используем "curves". Это слово значит отнюдь не «курва» а «кривая». Поскольку такого понятия, как «кривая» в Game Maker`е нет, то мы его изобретем. А создавать кривые мы будем через пути.

Удаляем все скрипты с дерева. Пишем заново в Create:

rot = 0
Код
icrvobj = instance_create(0,0,helper)
with (icrvobj)
{
path_start(crv01,1,1,true)
}


В Step:

Код
rot = 4-icrvobj.y/8
image_angle = rot


А теперь создадим путь crv01: (описываю по точкам)

1: (0;0)
2: (32;0)
3: (96;64)
4: (160;64)
5: (224;0)
6: (256;0)

Плюс отключаем closed и включаем smooth curve с precision в 8.

Еще желательно включить в настройках interpolate colors between pixels. А глюк с «прыганьем» rot`а, когда он подходит к 0, я не знаю как решить. Это особенность программы.

Таким образом, мы запускаем объект helper по заданному пути и используем его y координату как наклонение. Почему мы используем лишнюю переменную rot? Как по мне, так лучше экспериментировать с нестандартными переменными, чем со стандартными. Например, нам захочется «присобачить» силу ветра или, например, гравитационные аномалии. Подставляем всё в rot, а в image_angle уже ставим конечный результат.


Все свои желания можно воплотить в своей игре, если руки из нужного места растут. А если и мозга работает, то и в реальности все сделаешь :)
Quad69Дата: Вторник, 30 Декабря 2014, 13:56 | Сообщение # 2
заслуженный участник
Сейчас нет на сайте
Хороший урок.
В отличие от других тут всё кратко и понятно.
kukinillo777Дата: Вторник, 30 Декабря 2014, 14:00 | Сообщение # 3
частый гость
Сейчас нет на сайте
Рад. Писал опираясь на то, что знаю. Может скоро пример добавлю.

Все свои желания можно воплотить в своей игре, если руки из нужного места растут. А если и мозга работает, то и в реальности все сделаешь :)
HiNuToДата: Вторник, 30 Декабря 2014, 15:17 | Сообщение # 4
частый гость
Сейчас нет на сайте
kukinillo777, урок хороший. Хоть и занимаюсь с GM около 5 лет - смог извлечь для себя немного нового. Охотно плюсую.

И даже если без тебя я слаб,
Сейчас для меня будто оргазм состояние зла.
kukinillo777Дата: Вторник, 30 Декабря 2014, 15:21 | Сообщение # 5
частый гость
Сейчас нет на сайте
Цитата HiNuTo ()
kukinillo777, урок хороший. Хоть и занимаюсь с GM около 5 лет - смог извлечь для себя немного нового. Охотно плюсую.

Даже опытный человек не может знать всего. Я работаю с GM 3 года, но вряд ли отвечу на любой вопрос. Хотя на многие могу.


Все свои желания можно воплотить в своей игре, если руки из нужного места растут. А если и мозга работает, то и в реальности все сделаешь :)
-l33t-h4xx-Дата: Вторник, 30 Декабря 2014, 15:30 | Сообщение # 6
участник
Сейчас нет на сайте


Как правильно задавать вопросы
kukinillo777Дата: Вторник, 30 Декабря 2014, 15:35 | Сообщение # 7
частый гость
Сейчас нет на сайте
-l33t-h4xx-, что ты имеешь в виду?

Все свои желания можно воплотить в своей игре, если руки из нужного места растут. А если и мозга работает, то и в реальности все сделаешь :)
LunarPixelДата: Четверг, 01 Января 2015, 14:40 | Сообщение # 8
старожил
Сейчас нет на сайте
Значит вот эта статья, написанная еще в 2007-ом, тоже твоя? Или кое-кто просто решил набить себе плюсов на чужой работе? Учитывая другой твой скопированный урок, где изначально не был указан автор.

kukinillo777Дата: Четверг, 01 Января 2015, 14:54 | Сообщение # 9
частый гость
Сейчас нет на сайте
Не знаю. Но с таковой статьей встречался.

Все свои желания можно воплотить в своей игре, если руки из нужного места растут. А если и мозга работает, то и в реальности все сделаешь :)
LunarPixelДата: Четверг, 01 Января 2015, 15:01 | Сообщение # 10
старожил
Сейчас нет на сайте
kukinillo777, что значит не знаю. Урок практически 1 в 1, явно от туда скопирован и, судя по всему, выдан за свой.

kukinillo777Дата: Четверг, 01 Января 2015, 15:11 | Сообщение # 11
частый гость
Сейчас нет на сайте
LunarPixel, не ну я не говорил что код весь мой. Но там и мое есть.

Все свои желания можно воплотить в своей игре, если руки из нужного места растут. А если и мозга работает, то и в реальности все сделаешь :)
skypoДата: Четверг, 01 Января 2015, 15:16 | Сообщение # 12
участник
Сейчас нет на сайте
что мешает прикрутить к изменению угла функцию, да хотя бы синус, чтобы покачивалось плавно?! и не плодить лишних сущностей (н-р, говнообъекты как здесь)

Последний готовый проект:
флэппиберд с яйцами "Rescue Bird"(скачать с GooglePlay)
В разработке:
3-в-ряд "Корабельная команда", рогалик "Живой Мир", квест "Экипаж "Солнечной" (ждите на КРИЛ-15!)


Сообщение отредактировал skypo - Четверг, 01 Января 2015, 15:17
kukinillo777Дата: Четверг, 01 Января 2015, 15:17 | Сообщение # 13
частый гость
Сейчас нет на сайте
Ну нельзя уж так критиковать.

Все свои желания можно воплотить в своей игре, если руки из нужного места растут. А если и мозга работает, то и в реальности все сделаешь :)
LunarPixelДата: Четверг, 01 Января 2015, 15:24 | Сообщение # 14
старожил
Сейчас нет на сайте
kukinillo777, да ничего там твоего нет, абсолютно. Весь код и практически весь текст тупо скопированы.

skypo, мешает то, что урок - копипаст и автор ничего в этом не понимает. А оригинал, как вариант, вполне имеет право на существование. Хотя, конечно, для подобной задачи лучше и проще написать функцию.


kukinillo777Дата: Четверг, 01 Января 2015, 16:04 | Сообщение # 15
частый гость
Сейчас нет на сайте
Ну я могу написать и другой код.

Все свои желания можно воплотить в своей игре, если руки из нужного места растут. А если и мозга работает, то и в реальности все сделаешь :)
roguelikerДата: Четверг, 01 Января 2015, 18:06 | Сообщение # 16
частый гость
Сейчас нет на сайте
Нет, это плагиат. Там полностью код украден.
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker Studio » Практика кривых линий в GM ([Версия для форумаЗдравствуйте!])
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2021 Рейтинг