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


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

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

Теги

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

Статьи сайта

megainformatic - Создание анимации вращающихся колес автомобиля

megainformatic - игра Нечто: Необъяснимое и в плену желаний

megainformatic - Основы 3D-анимации, экспорт скелетной анимации

megainformatic - Подготовка модели к использованию скелетной анимации

megainformatic - Продолжаем Создание скелета для данной модели

megainformatic - Построение ирерархических связей между объектами и основы 3d анимирования

megainformatic - Особенности экспорта моделей и анимации экспортером kWXPort080719 из 3ds max 2009 

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

megainformatic cms e-mailer

megainformatic cms e-mailer

megainformatic cms e-mailer

Бесплатная Система Управления Вашим Сайтом - megainformatic cms free

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

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

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)

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

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



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\prop_desc\collision_rects_desc.txt



И определим границы -

ball; 0.0f; -0.07f; 0.08f; -0.16f; 0.5f;
hole; 0.138510f; -0.144f; 0.1f; -0.085f; 1.0f;


1 значение - это имя игрового объекта, следующие 4 параметра - его границы - левая верхняя точка - x и y, и правая нижняя - также.
Последнее значение - это масштабный коэффициент - он учитывается при вычислении границ.

Теперь создадим файл для описания свойств - для установки связи между объектами границ и игровыми объектами

simple_game\Media\prop_desc\game_object_class_properies.txt



Запишем туда -

//
// описание свойств шарика
//
begin =;
Name = ball;
Collided = true;
end =;
//
// описание свойств ямы
//
begin =;
Name = hole;
Collided = true;
end =;


Как видим описание имеет определенную нотацию, т. е. некий мета-язык.
Свойство Name - обозначает идентификатор игрового объекта, к которому будет привязываться свойство границ определенных в файле границ.

Свойство Collided = true - означает что будет использоваться проверка коллизий или по-другому столкновений, для данного игрового объекта. Значение может быть установлено и в false. Но в контексте данного урока нам для обоих объектов нужна проверка столкновений.

Реальные стокновения не позволяют одному игровому объекту проходить сквозь другой. Например, если игровой объект игрока наталкивается на врага или стену - он не должен пройти сквозь него.

В нашем случае будет задано несколько иное поведение: шарик может пройти сквозь яму. Будет лишь фиксироваться сам факт попадания в яму и больше ничего.

Иными словами проверка столкновений будет работать привычным образом, а результаты будут использоваться несколько иначе - физическое явление отталкивания объектов друг от друга использоваться не будет.



Для реализации проверки столкновений прыгающего шарика с ямами нужно выполнить следующие действия:

В модуль

start.cpp



Подключить заголовочные файлы collision.h и game_object_properties.h -

после строки

#include "textures.h"



добавить -

#include "game_object_properties.h"
#include "collision.h"





после строки

#define SimpleGameScenesPath L"\\Media\\textures\\environment\\scenes\\simple_game\\"



добавить -

//==========================================
//
// имена файлов описаний свойств игровых объектов
// и границ для столкновений
//
//==========================================

#define GameObjectPropertyValue L"\\Media\\prop_desc\\game_object_class_properies.txt"

//индексы игровых объектов, имеющих свойства в файле свойств
#define ball_prop 0
#define hole_prop 1


Для перемещений прыгающего шарика и проверки столкновений и их обработки добавить в

start.h



После строки -

D3DXVECTOR2 m_scrCursorPos;



такой код -

//перемещения прыгающего шарика
void MoveJumpedBall();
float m_fCurrentTimer;
float m_fTimeDelay;
float m_fMoveSpeed;

D3DXVECTOR2 m_v2MoveDirs;
void ChangeMoveDirs(int Dir);

void JumpedBallContactHole();

bool m_bContactWithHoleDetected;
float m_fHoleX;
float m_fHoleY;

bool change_moved_ball_TimePause(float PauseInterval = 0.0f);
void change_moved_ball_ResetPauseTimer();
DWORD change_moved_ball_m_dwOldTime;
DWORD change_moved_ball_m_dwTime;
float change_moved_ball_m_fTimePeriod;

//переопределенная сцена и её методы

//скрываем все плашки ям (их переднюю часть)
void CreateOverridedGameScene();

CPtrArray* m_pOverridedGameScene; //массив объектов видоизмененной игровой сцены
void FreeOverridedGameScene();

//скрытие/показ указателя мыши
void HideSystemMouseCursorView(bool Hide);

//счёт попаданий в яму
int m_iHoleHits;
bool m_bInHole;

//сброс попадания в яму
bool hole_hit_TimePause(float PauseInterval = 0.0f);
void hole_hit_ResetPauseTimer();
DWORD hole_hit_m_dwOldTime;
DWORD hole_hit_m_dwTime;
float hole_hit_m_fTimePeriod;



В модуль

start.cpp



1)

Добавляем

В метод
CD3DGameApp::FrameMove



после строки

g_Splash.Anim();

код -

MoveJumpedBall();

В конец модуля

start.cpp



добавляем код -

//перемещения прыгающего шарика
void CD3DGameApp::MoveJumpedBall()
{
g_AI_Ball_Sprite.Anim();

change_moved_ball_TimePause(m_fTimeDelay);
hole_hit_TimePause(2.0f);
//проверяем контакт шарика с ямой
JumpedBallContactHole();
}


Реализацию остальных методов и их использование Вы можете посмотреть сами в коде модуля
start.cpp



Отмечу лишь, что для проверки столкновения шарика с границами ямы используется вызов функции CollisionDetected, которая проверяет пересекаются ли границы объекта ball с границами объекта hole и если да - то возвращается значение true.



Если столкновение зафиксировано - то плашка для данной ямы (её передняя часть отображается), чтобы имитировать попадание шарика в яму. Как только шарик отойдет от ямы в сторону - столкновение уже будет возвращать false и плашка для данной ямы уже отображаться не будет. Визуально шарик просто будет прыгать по поверхности ландшафта.





Скачать готовую игру simple game версия 1.0.0 4.01.2017 (без исходного кода).

Исходный код и другие полезные материалы и инструменты Вы получаете при оформлении платной подписки !


Размер: 51,8 Mb



Чтобы иметь возможность самостоятельно создать свою игру на базе примера simple_game с неограниченными возможностями дальнейшего расширения! - оформите подписку на fle game engine -


Стоимость: 600 руб.

Оформив подписку на fle game engine Вы получаете пример игры simple_game с исходным кодом, и сможете не просто прочитать всё, что описано, но и самостоятельно проделать в собственном приложении с возможностью неограниченного расширения. Также Вы получаете

Самую свежую версию Scene Editor fge 1.0.2 (на текущий момент) с поддержкой большего количества возможностей: сетка, настройки, скроллинг и другие. В бесплатной версии эти возможности не поддерживаются. подробнее о составе платной подписки.





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



megainformatic live chat
Начать беседу
X
fle game engine - движок для создания игр
fle game engine - движок для создания игр


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