Sonic. Добавляем персонажей в Simple Sonic Worlds.

Предисловие.

В этом уроке, вы научитесь добавлять персонажей на движке NSSSWP. Урок будет длинным, так что запаситесь терпением.

Создаем новый скин.

Склонируйте скин соника, нажав Clone Object

И замените спрайты у скина на нужные вам. Есть простой способ замены анимации.

Сперва, создаёте анимацию в Aseprite. Спрайты рисуете сами, или берете из набора спрайтов, как это сделал я.

После того как закончите делать анимацию, сохраните её в png. Программа предложит разбить её на отдельные кадры — соглашаемся.

Далее, импортируем 1-ый кадр анимации.

Импортируем его, как анимацию.

В итоге, фреймы соника заменились, на нужные.

Добавляем скин в движок.

Далее идет процесс жуткого копипаста, так что готовьтесь.

Перемещаем скин на начальные координаты.

Установите позицию вашего скина по X, на значение переменной FloatX, как на картинке внизу.

С Y сделайте тоже самое.

В группе Player Initialization, которую можно найти по данному пути.

Sonic Simple Worlds PLUS [1.0] -> Objects management -> Player -> Player Initialization

Добавьте новое условие.

И передвиньте скин.

На тот же слой, где находится объект Player_StartingPoint (стартовая позиция игрока).

Устанавливаем атрибуты игрока.

Спуститесь в Player -> Character Attributes [Simple]. Здесь, для удобства, изменим комментарий, добавив своего персонажа, в общий список.

Данный список, это удобное напоминание, показывающее какое число, за какой скин отвечает.

Спуститесь чуть ниже. Сейчас сделаем дубликат группы, скопируйте группу Sonic.

Наведите на любую другую группу, и нажмите вставить.

И назовите её, названием вашего персонажа.

В условии Character замените, на =8. Т.е. если переменная Character в объекте M, равна 8-ми, то делаем что-то. Выше, в комментарии, мы условились, что число 8 отвечает за созданного нами персонажа.

Здесь, также, можно прописать скорость игрока, высоту прыжка и т.д. Сделав тем самым уникального персонажа.

Далее, поднимитесь чуть выше.

Сделайте дубликат условия после комментария Super Form.

И установите Character = 8.

Перемещение скина на координаты игрока.

Теперь, перейдите в группу Reposition Skin, который можно найти по следующему пути.

Player -> Player Animation -> Reposition Skin

И приравняйте координаты скина оси X, к координатам объекта M.

С осью Y, по аналогии.

Меняем направление скина.

Спускаемся в Change Direction, по данному пути.

Player -> Player Animation -> Change Direction

Здесь мы устанавливаем направление скина.

Для обратного направления, делаем то же самое.

Меняем анимацию.

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

Чуть ниже, идет условие проигрывания анимации бега. Сдублируйте группу Sonic Run.

Разумеется, в условии Change Animation, мы обращаемся к нашему скину. Перекинув иконку с другой комманды, можно переназначить объект действия.

Переименуйте её. Измените проверку условия на Character = 8.

А дальше идет жесткий копипаст, о котором предупреждал ранее.

Вставляйте Change Animation sequence, для всех блоков Animation of.

Меняем скорость анимации.

Далее, спуститесь в группу Change Animation Speed. Эта группа отвечает за скорость анимации.

Добавляем комманду по инструкции ниже.

Вообще, здесь мы соотносим скорость персонажа и скорость анимации. Т.е. если игрок движется быстро, то и анимация быстро проигрывается.

Поворачиваем скин.

Спуститесь в группу Change Angle. И приравняйте угол скина, к углу посчитанному движком.

Далее идет группа Flash while invincible (Мигать пока бесмертен). Создайте дубликат группы Sonic, и назовите её, названием своего персонажа. В дубликате, Character замените на нужный.

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

Добавляем персонажа в Character Select.

Откройте уровень Character Select и дважды кликните по объекту CharSelec.

Создайте новую анимацию. Именно эта анимация будет проигрываться в рамке, при выборе вашего персонажа.

После этого, зайдите в группу Object Interation -> Object [00]. И создайте там новое условие, если GameCharacter = 8, то проигрываем анимацию вашего персонажа.

Также, зациклим GameCharacter.

Готово, теперь персонаж в игре.

Итоговый результат.

Пожалуйста отключи блокировщик рекламы, или внеси сайт в белый список!

Please disable your adblocker or whitelist this site!