Главная » Статьи » Конструкторы игр, системы разработки игр » Scirra Construct » Создаем анимацию игрока
|
Создаем анимацию игрока
[ Поделиться ]
[ Спасибо! ]
|
Создавать анимацию очень просто, если понять несколько принципов. Пожалуй начнем.
Для начала создадим небольшую сценку где наш игрок будет перемещаться.
Переходим в "Layout Editor". Создаем спрайт. Добавляем ему поведение "Platform". Далее в "Groups" - "Attributes" жмем на "Center view on me".
Так как этот спрайт тоже является лишь каркасом для основного персонажа, нужно сделать его невидимым. Для этого ниже в свойствах, во вкладке Appearance поставьте галочку напротив опции "Invisible on start".
Итак, основной каркас игры мы сделали. Теперь нам нужно создать второй слой уровня, куда мы будем загружать спрайты декораций. В правой части экрана есть панель, где располагаются три вкладки: Project (Проект), Animator (Анимация) и Layers (Слои).
Жмем на "Layers".
Создаем новый слой, нажав на зеленую стрелку с направлением вверх (рядом с корзиной). Появится новый слой с названием Layer 2, кликните по нему ЛКМ и переименуйте в свойствах.
http://scirraconstruct.ru/blog....021.png
Теперь можно сторить основной каркас карты. Так, убедитесь, что слой 2 выделен, перейдите в Layout Editor, кликните на белом поле ПКМ и создайте новый объект спрайт. Загрузите изображение платформы и переименуйте его. Далее раскопируйте и расставьте спрайт таким образом, чтобы копии находились на тех же местах, что и старые спрайты (т.е. перекрывали их).
Далее добавим спрайт игрока, я выбрал этот.
Не забываем поставить "Platform".
Потом справа находим меню "Animator". Там будет список нашей анимации, по умолчанию там есть 1 анимация (default). Кликнете по ней, и в свойствах анимации (это меню слева) измините название.
Теперь начнем делать анимацию бега. В меню "Animator" жмем на нашу анимацию правой кнопкой мыши, а там жмем на "Add new animation".
Теперь там появилась новая анимация с названием Animation 1, переименовываем ее. Далее на панели анимации кликаем под ней ЛКМ на закрученную стрелку с надписью Angle: 0* (Right). Мы увидим, что в нижнем окне появился один пустой кадр.
Рядом с пустым кадром нажимаем правой кнопкой мыши и в открывшемся списке выбираем команду "Import frames".
Открывается проводник, в нем выбираем папку с анимацией, все выделяем и жмем открыть.
Я использовал этот список анимации
Затем жмем импорт.
Далее,обязательно удаляем пустой кадр!
Запускаем игру, но что случилось, игрок все равно не бегает! Начнем исправлять ошибку. Для этого надо будет создать события для героя.
Создание событий для главного героя.
Для создания событий, в самом низу программы, кликните левой кнопкой на вкладке "Event Sheet Editor".
Поле со спрайтами исчезнет, и вместо него появится пустая страница. В центре страницы кликните правой кнопкой и в открывшемся списке команд выберите "Insert group".
Появится "Modify Event Group". Напротив Title укажите название группы (Character), а напротив Description вы можете написать небольшое описание для группы (не обязательно). Жмем ОК.
Жмем на "New event to:" Откроется новое окно, выбираем там изображение монитора (System). Жмем далее.
Откроется список с условиями для объекта системы, среди них выберите условие Always и нажeм на кнопку Finish.
Теперь появилось новое условие, нашли? Хорошо.
Далее напротив Always кликните на красной надписи "New action" , откроется окно "New action", где выбираем спрайт главного героя.
Откроется список доступных для этого объекта действий, в котором вам нужно выбрать действие "Set position to another object" (установить позицию относительно другого обьекта)(находиться в группе "Size & Position") и нажать Next.
Далее в появившемся окне нажмите на кнопку с надписью "Pick an Object".
Откроется новое окно Select object, где вам нужно указать к какому объекту будет привязан спрайт героя. Следовательно выбираем спрайт который мы делали невидимым.
Жмем ОК, а затем кнопку "Finish"
Запускаем игру, и снова ошибка, но скоро конец, не огорчайтесь.
Перейдите в "Layout Editor" и добавьте новый объект "Mouse & Keyboard. Объект должен появится на панели Objects в списке рядом с другими объектами.
Теперь создадим событие, при котором наш персонаж сможет поворачиватьсяв ту сторону, в которую мы движемся. Для этого возвращаемся обратно в "Event Sheet Editor" и создаем новое условие — кликаем ЛКМ по надписи "New event to:" и в открывшемся окне выбираем объект "Mouse & Keyboard". Далее ищем строку "Key is down?", кликаем на нее и в списке выбираем клавишу "Left arrow"
Жмем Finish, и у нас теперь есть новое условие. Напротив него создаем
действие кликнув ЛКМ по надписи "New action". В открывшемся окне
выбираем спрайт персонажа, далее ищем строку "Set angle", кликаем на ней
и переходим дальше. В следующем окне мы видим поле для ввода текста со
значением 0 — это значение угла.
Для того, чтобы при движении влево герой смотрел влево, нам нужно вместо 0 вписать значение 180. Нажимаем "Finish".
Теперь создайте еще одно такое же событие, только в условии вместо клавиши "Left arrow", выберите "Right arrow", а в действии вместо 180 градусов, укажите 0.
Пробуем запустить игру, но снова ошибка, наш игрок переворачивается вверх тормашками.
Для того, чтобы спрайт отображался корректно, перейдите в "Layout Editor", выделите персонажа и в его свойствах найдите вкладку "Angle" и установите галочку напротив опции Auto mirror.
Теперь игрок поворачивается из стороны в сторону, но анимация не производиться, что же делать? А вот что...
Для этого перейдите в "Event Sheet Editor" и в группе игрока создайте новое событие, в окне New condition выберите спрайт который мы делали невидемым, далее перейдите во вкладку "Platform" и в списке условий выберите "Is on ground" и "Finish".
Теперь добавим под-событие — на созданном вами событии кликните ПКМ и в открывшемся списке выберите команду "Insert sub-event".
В списке объектов снова выберите спрайт - неведимку и, зайдя во вкладку Platform, выберите команду Is moving. В итоге у вас должны получиться событие и его под-событие.
Теперь напротив под-события добавим действие. Выберите персонажа, затем найдите действие Set animation, в поле ввода с заголовком Name впишите в кавычках (' ') имя анимации, которая должна воспроизводиться при движении персонажа (которую поставили вы).
Теперь удерживая Ctrl, скопируйте под-событие еще раз. Затем на условии Is moving нажмите ПКМ и в открывшемся списке выберите команду Invert condition - инвентировать событие.
Напротив инвертированного условия нам нужно подкорректировать действие. В строке "Set animation to" нажимаем ЛКМ по надписи (нашего движения) и вместо нее вписываем другую анимацию с названием (то название, где наш герой стоит), нажимаем Enter.
Все! Готово! Но для тех кто хочет немного улучшить свою игру советую прочитать то, что написано ниже.
Поиграв немнго, мы поняли, что бежит наш герой очень быстро, надо это исправить.
В самом конструкторе скорость анимации составляет "50", а эта анимация на "24" кадра.
Чтобы изменить скорость анимации перейдите в Layout Editor , выберите персонажа и справа на панели управления анимацией, под строкой moving, кликните ЛКМ мыши на стрелку с надписью Angle: 0* (Right), чтобы выделить анимацию. Дальше, слева, напротив "Animated Speed" пишем "24".
Теперь точно все!!!
Урок подготовил naruto08
Категория: Scirra Construct | Просмотров: 8931 | Добавил: naruto08 (15.10.2012) | Рейтинг: 3.3/3 |
HTML ссылка на материал: BB ссылка на материал: |
Всего комментариев: 0 | |