fle game engine - движок для создания игр
fle game engine - движок для создания игр


Balls and holes PC game / Balls and Holes PC игра
Вакансии
Игродельня
Сегодня
21 сентября 2017
4:11
Вход Регистрация Забыли пароль ?

megainformatic - Костя Коробкин Компания Зергов онлайн комикс читать страница 2
Костя Коробкин - Компания Зергов (kk kz) - онлайн комикс - страница 2 Онлайн-комикс Костя Коробкин - Компания Зергов - интерактивный комикс (kk kz). Вот ОНИ !!! ДИ-НО-ЗАВ-РЫЫЫЫЫЫ !!!!!!
подробнее...

Теги

создание сайтов, создание игр, дизайн, игры, информатика, уроки photshop, php, c++, музыка, delphi, cms, робосайт

Статьи сайта

megainformatic - Путешествие в мир 3d - страница 3

megainformatic - Путешествие в мир 3d - страница 4

megainformatic - Путешествие в мир 3d - страница 5

megainformatic - Путешествие в мир 3d - страница 6

megainformatic - Создание модели броневика (Хэд) - Анимация вращения колес

megainformatic cms express files

megainformatic cms express files

megainformatic cms express files

megainformatic - Уроки Photoshop - Чудеса

megainformatic cms express files - Развертывание сайта на Вашем хостинге

megainformatic - Настольная игра "Веселый Буквоежка"

megainformatic - Уроки delphi directx 8.1

megainformatic - Уроки delphi directx 8.1 - Урок 1 - Введение в Delphi DirectX 8.1. Создание шаблона стартового приложения.

megainformatic - Уроки delphi directx 8.1 - Урок 1 - Введение в Delphi DirectX 8.1. Создание шаблона стартового приложения. Страница 2

megainformatic - Урок 2 Создаем и обрабатываем команды меню.

megainformatic - Урок 2 Создаем и обрабатываем команды меню. Страница 2

megainformatic - Урок 3 Оконный и полноэкранный режимы работы D3D-приложения. Управление игрой средствами DirectInput8

megainformatic - Урок 3 Оконный и полноэкранный режимы работы D3D-приложения. Управление игрой средствами DirectInput8 - Страница 2

megainformatic - Урок 3 Оконный и полноэкранный режимы работы D3D-приложения. Управление игрой средствами DirectInput8 - Страница 3

megainformatic - Урок 4 Построение класса приложения

megainformatic - Урок 4 Построение класса приложения - Страница 2

megainformatic - Урок 5 Построение классов игровых объектов и других необходимых классов

megainformatic - Урок 5 Построение классов игровых объектов и других необходимых классов - Страница 2

megainformatic - Урок 6 Игровая логика

megainformatic - Заметки по joomla - JFolder::create: Path not in open_basedir paths. Что это?

megainformatic cms express files - Добавление статей на сайт под управлением megainfromatic cms express files

megainformatic - Урок 7 2D-анимация

megainformatic - Урок 8 Загрузка/Сохранение текущей игры, режим паузы, режимы часов/будильника, запуск браузера Internet Explorer для показа сайта разработчика и других интернет-ресурсов

megainformatic - Урок 9 Тестирование и отладка приложения

megainformatic - Мои Музыкальные Миры

megainformatic - уроки Photoshop free

megainformatic cms express

megainformatic cms express

megainformatic cms express

megainformatic cms express files

megainformatic - Методы создания растровых изображений в Adobe Photoshop

megainformatic - Создание фотореалистичной текстуры травы

megainformatic - Рабочее пространство Adobe Photoshop

megainformatic - Бесшовные (тайловые) текстуры

megainformatic - Создание изображений огня, воды, неба

megainformatic - Создание текстур горных пород и суши (урок 5)

megainformatic - Рисование персонажей (урок 6)

megainformatic - Рисование фона (урок 6 часть 2)

megainformatic - Рельефные изображения

Добавление статей на сайт под управлением megainformatic cms express

megainformatic - Воспроизведение файлов в форматах it, xm, s3m, mod

megainformatic - Воспроизведение файлов в форматах it, xm, s3m, mod - страница 2

megainformatic - Воспроизведение в игре музыки в формате XM

megainformatic - Воспроизведение файлов в формате OGG Vorbis

megainformatic - игра "Веселый Буквоежка" - инструменты разработки

megainformatic - Игра "Веселый Буквоежка" - история создания проекта

megainformatic - Как анимировать паука ?

megainformatic - Уроки Photoshop

megainformatic - Купить Уроки Photoshop - Чудеса

megainformatic - Купить Уроки Photoshop - Рисуем и Анимируем

megainformatic - Эмулятор игры Ну, Погоди!

Creating game on fle game engine - Simple game / Создание игры на fle game engine - Simple game

5. Отображаем прыгающий шарик, узнаем как задается для спрайта его центр и знакомимся с векторной системой координат



read paper in english

Итак, если Вы смогли самостоятельно разобраться и всё-таки шарик стал виден на экране вашего приложения, то могу Вас поздравить !





Содержание

страница 1 - Спрайты

страница 2 - Объекты

страница 3 - Наложение объектов

страница 4 - Код - Настройка параметров Scene Editor fge и написание кода для вывода спрайта шарика в вашем первом игровом приложении

страница 5 - Отображаем прыгающий шарик

страница 6 - Загрузка игровой сцены

страница 7 - Перемещения игровой сцены

страница 8 - Закрываем часть сцены от пустот при помощи черной текстуры с прорезью, ограничиваем перемещение сцены

страница 9 - Реализуем корректное попадание в ямы и около ям - определяем границы спрайтов ям и спрайта прыгаюшего шарика

страница 10 - Проверка столкновений

страница 11 - Игровой счёт, звуки, музыка

урок #2 страница 1 - Создание новых сцен для игры simple game, расширенная версия simple game extended

13. Скроллинг больших локаций

14. использование переменных в игре на c++ directx 9c

15. Мульти анимация







Вы преодолели первую трудность. Хотя их будет еще много впереди.

Для тех, кто так и не понял в чём была проблема, поясняю.

simple_game\Media\textures\simple_game\tex_list.txt



ball\jump.tga; -0.7f; 0.1f; 0.909f; 0.5f; 0.5f; 64; 128; 0; 0; 4; 8.0f; 14.0f;

Чтобы шарик выводился значение z = 0.909f надо изменить на такое, чтобы шарик стал виден. Например, z = 0.8999f

При больших значениях шарик оказывается выводимым "за фоном". Поэтому-то его и не видно. Фон имеющий координату z = 0.9f, по сравнению с шариком имеющим координату z = 0.909f, оказывается ближе к наблюдателю (значения z меньшие - ближе к наблюдателю, большие - дальше от наблюдателя), и просто перекрывает его.

Если Вы внимательно посмотрите на код, который вставляли по инструкции на странице 4, то наверное догадаетесь, что методы

4)
g_Splash.Anim(); //это то, что вы нашли
g_AI_Ball_Sprite.Anim(); //это то, что вы должны добавить


5)
g_Splash.Draw(); //это то, что вы нашли
g_AI_Ball_Sprite.Draw(); //это то, что вы должны добавить


Анимируют и отрисовывают наш шарик.

Попробуйте закомментировать один из них - g_AI_Ball_Sprite.Draw() или g_AI_Ball_Sprite.Anim() и перекомпилируйте приложение.

//g_AI_Ball_Sprite.Anim(); //если закомментируем эту строчку - шарик перестанет анимироваться, т. е. не будет прыгать


Выводим шарик

Если же закомментируем g_AI_Ball_Sprite.Draw()

//g_AI_Ball_Sprite.Draw(); //если закомментируем эту строчку - шарик перестанет быть виден вообще.


Теперь давайте ознакомимся с особенностями вывода спрайтов в играх.
Откройте файл
simple_game\Media\textures\simple_game\tex_list.txt



И посмотрите на параметры нашего шарика -

ball\jump.tga; -0.7f; 0.1f; 0.8999f; 0.5f; 0.5f; 64; 128; 0; 0; 4; 8.0f; 14.0f;

Если Вы читали readme.txt приложенный к утилите Coords2D, которая позволяет настраивать параметры спрайтов и их анимаций, то знаете, что означает каждый из параметров.

Начнём по-порядку.

name x y z xScale yScale Width Height xOffset yOffset FramesPerLine FramesNum AnimDelay;
ball\jump.tga; -0.7f; 0.1f; 0.8999f; 0.5f; 0.5f; 64; 128; 0; 0; 4; 8.0f; 14.0f;


name - означает имя файла загружаемого спрайта;

x, y, z - координаты его вывода на экран. Причём x и y могут быть векторными - значения которых не зависят от текущего разрешения экрана и могут быть экранными заданными в пикселях - зависящими от разрешения экрана.

Векторные координаты имеют значения от -1.0f до 1.0f и являются универсальными, позволяя выводить спрайты на любых разрешениях экрана в приблизительно одинаковых его частях. Не требуют предпринимать никаких дополнительных мер, чтобы учесть текущее разрешение экрана пользователя, на котором работает приложение.

Чуть ниже мы разберемся как использовать и те и другие.

xScale, yScale - масштаб выводимого спрайта по x и y - значение 1.0f - выводить спрайт в натуральном размере. Значения меньшие 1.0f - уменьшать спрайт, значения большие - увеличивать.

Width, Height - ширина и высота спрайта в пикселях.

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

Узнать больше о создании и вставке спрайтов в вашу игру можно также в серии уроков - Шарики на лифте - Как создать игру, в частности урок Как создать игру - Вставка созданной графики, звуков и музыки в игру подробно описывает в том числе и работу по вставке в игру спрайтов и правильное описание их параметров.

FramesPerLine - число кадров в одной линии по оси X, для оси Y это не применяется;

FramesNum - число кадров в анимации спрайта;

AnimDelay - задержка по времени между показом кадров спрайта в долях секунды. Определяет, таким образом, скорость показа анимации.





Если всё понятно - перейдем к экспериментам.

Для начала попробуем вывести наш шарик в центре экрана.

Для этого всего лишь нужно снова открыть файл

simple_game\Media\textures\simple_game\tex_list.txt



И задать x = 0.0f, y = 0.0f -

ball\jump.tga; 0.0f; 0.0f; 0.8999f; 0.5f; 0.5f; 64; 128; 0; 0; 4; 8.0f; 14.0f;

Сохранить изменения и перезапустить приложение simple_game, если оно у Вас было запущено.

Шарик будет выведен почти в центре экрана, но немного ниже его.

Шарик в центре экрана

Ниже, потому что, если Вы помните, анимация нашего шарика выглядит так -

прыгающий шарик

прыгающий шарик

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

Поэтому, когда Вы будете выводить спрайты в игре, учитывайте возможное смещение их центра и вводите соответствующую поправку.

Так, чтобы наш шарик оказался точно в центре экрана, в коде его вывода в модуле

simple_game\scripts\game_sprite\game_sprite.cpp

Нужно найти строку кода

CGameSprite::Draw

и имеющийся там код -

SpriteSprite->m_v2Vector2ScreenPos.x = SpriteSprite->m_Position.x;
SpriteSprite->m_v2Vector2ScreenPos.y = SpriteSprite->m_Position.y;


изменить на

SpriteSprite->m_v2Vector2ScreenPos.x = SpriteSprite->m_Position.x - 0.05f;
SpriteSprite->m_v2Vector2ScreenPos.y = SpriteSprite->m_Position.y + 0.2f;


сохранить изменения, перекомпилировать ваше приложение и запустить его снова.

Шарик в центре экрана

Теперь шарик окажется еще точнее к центру. Можете поэкспериментировать со значениями смещений, чтобы отцентрировать шарик еще точнее.





Итак, Вы узнали, что такое векторная система координат.

Можете попробовать теперь в файле

simple_game\Media\textures\simple_game\tex_list.txt



Менять первые 2 значения для x и y на значения в диапазоне от -1.0f до 1.0f, сохранять изменения в файле и перезапускать приложение simple_game

ball\jump.tga; 0.5f; 0.5f; 0.8999f; 0.5f; 0.5f; 64; 128; 0; 0; 4; 8.0f; 14.0f;

Векторная координатная система

Центр экрана это точка с координатами x = 0.0f, y = 0.0f

Верхний край экрана это y = 1.0f, нижний - y = -1.0f.

Для x левый край экрана это x = -1.0f, а правый x = 1.0f

Поэкспериментируйте с изменением координат в файле

simple_game\Media\textures\simple_game\tex_list.txt



чтобы лучше уяснить себе этот важный момент.

В показаном ниже видео продемонстрированы 4 варианта отображения шарика в одной из 4 четвертей координатных осей.



для x, y = 0.5f, 0.5f - справа вверху, -0.5f, -0.5f - слева внизу,
0.5f, -0.5f - справа внизу, -0.5f, 0.5f - слева вверху.

[назад] [далее]



 

Оставленные комментарии



fle game engine - движок для создания игр
fle game engine - движок для создания игр


Something: Unexplained 2 captive of desires / Нечто: Необъяснимое 2 в плену желаний
Костя Коробкин Комикс Коллекционное издание - 6 комиксов, 81 страница, 220 mp3 треков
megainformatic Размещение баннерной рекламы у нас
Время загрузки: 0,9967