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


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

megainformatic - Как создать игру ? - Программируем сами - пример CreateDevice страница 2
         
подробнее...

Теги

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

Статьи сайта

megainformatic - Выпадающее окно регистрации на сайте

megainformatic - Тестирование подключения к платежной системе с использованием скрипта эмулятора

megainformatic - Модуль для регистрации пользователя на сайте

megainformatic - Код для модуля регистрации пользователя на сайте

megainformatic - Быстрый подсчёт ключевых слов в статье

megainformatic - Модуль подсчёта ключевых слов в статье

megainformatic - Онлайн-сервис для подсчёта статистики ключевых слов

megainformatic - Пишем слайдер на javascript с нуля

megainformatic - Логика работы слайдера на javascript

megainformatic - Пишем свою соц. сеть - модуль предложений для webjob

megainformatic - Пишем свою соц. сеть - модуль предложений для webjob - часть реализации для личного кабинета

megainformatic - Пишем свою соц. сеть - Реализация файлового хранилища предложений в csv-файле

megainformatic - Тестирование подключения к платежной системе ЕДИНЫЙ КОШЕЛЕК (w1.ru) с использованием скрипта эмулятора

megainformatic - Пишем свою cms - шаг 1

megainformatic - Пишем свою cms - шаг 2

megainformatic - Пишем свою cms - шаг 3

megainformatic - бесплатная флеш игра freeway fury 2 - разработчик Serius Games

megainformatic - бесплатные флеш игры сторонних разработчиков

megainformatic - Как я осваивал Flash

megainformatic - Список уроков на тему создания flash приложений и игр

megainformatic - Как я осваивал Flash - шаг 2 - Основы создания простейших flash - игр

проект портала Идеи Комфорта

megainformatic - игра Веселый Буквоежка

megainformatic - игра Веселый Буквоежка

megainformatic - Использование cron, crontab и планировщика задач

megainformatic - Совместное использование jquery и mootools или других js-фреймворков

megainformatic - Модуль content php performer для megainformatic cms

megainformatic - Пишем компактный слайдер

megainformatic - Что нужно знать для создания сайта ?

megainformatic - Что нужно знать для создания сайта ? Глава 2 - Кодировки и DOCTYPE

megainformatic - Что нужно знать для создания сайта ? Глава 3 - Идём дальше - нанизываем новый код - где объявляются стили css и код javascript

megainformatic - Что нужно знать для создания сайта ? Содержание

megainformatic - Что нужно знать для создания сайта ? css - стили

megainformatic - preg_match или Использование регулярных выражений в php

megainformatic - статьи Тимонина Андрея - Flash. Содержание

megainformatic - статья Тимонина Андрея - Flash. Подготовка к работе.

megainformatic - статья Тимонина Андрея - Flash. Hello world.

megainformatic - статья Тимонина Андрея - Flash. Экспорт SWC библиотеки.

megainformatic - Тимонин Андрей - Несколько слов о себе

megainformatic - статьи Тимонина Андрея - уроки из области веб программирования, создания казуальных игр

megainformatic - статья Тимонина Андрея - Обеспечиваем доступ к объекту из любой точки программы. Singleton

megainformatic - статья Тимонина Андрея - Хронология работы программы. Создаем Лог

megainformatic - статья Тимонина Андрея - Поиск файлов. Получаем список файлов каталога.

megainformatic - статья Тимонина Андрея - Исключения. Создаем класс обработки исключений.

megainformatic - статья Тимонина Андрея - States. Создаем менеджер состояний игры.

megainformatic - статья Тимонина Андрея - Регистрация. Часть 1. Создаем страничку регистрации на сайте.

megainformatic - статья Тимонина Андрея - Регистрация. Часть 2. Создаем обработчик, и заносим информацию о пользователе в Б.Д.

megainformatic - статья Тимонина Андрея - Таймер. Выводим время игры.

megainformatic - статья Тимонина Андрея - DirectX9. Создаем основной класс обработки графики.

megainformatic - статья Тимонина Андрея - DirectX9. Создаем первое приложение.

megainformatic - Что нужно знать для создания сайта ? float - использование в css - стилях

megainformatic - Уроки Fruity Loops Studio (FL Studio) - урок 2 - пишем свою композицию COLD

megainformatic - Уроки Fruity Loops Studio (FL Studio) - урок 3 - экспериментируем с композицией COLD

megainformatic - Что нужно знать для создания сайта ? Стандартные шрифты для сайта

megainformatic - Что нужно знать для создания сайта ? ASC II Коды символов

megainformatic - Уроки Fruity Loops Studio (FL Studio) - урок 4 - пишем первый вариант композиции COLD

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 - слева вверху.

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



megainformatic live chat Чтобы писать сообщения в чат авторизуйтесь
X
 

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



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


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
















    
Время загрузки: 0,9201