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


Balls and holes PC game / Balls and Holes PC игра
Вакансии
Игродельня
Сегодня
17 августа 2019 20:50
Вход Регистрация Забыли пароль ?

megainformatic - Создание музыки в Impulse Tracker 2.14 Первая мелодия
          Урок 7: Первая мелодия
подробнее...

Теги создание сайтов, создание игр, дизайн, игры, информатика, уроки photshop, php, c++, музыка, delphi, cms, робосайт
Статьи сайта
Система управления сайтом - megainformatic cms e-shop

Система управления сайтом - megainformatic cms e-shop

megainformatic - Уроки 3ds max - Введение в 3ds max

megainformatic - ГАЛЕРЕЯ 3D-моделей

megainformatic - СОЗДАНИЕ МАКЕТА ПОМЕЩЕНИЯ

megainformatic - Создание макета помещения - этап 2

megainformatic - МОДЕЛИРОВАНИЕ НА УРОВНЕ МНОГОУГОЛЬНИКОВ

megainformatic - СОЗДАНИЕ ПРЕДМЕТОВ ОБСТАНОВКИ ПОМЕЩЕНИЯ

megainformatic - Моделирование обстановки помещения

megainformatic - Создание модели автомобиля

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

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

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

8 - Фон переднего плана



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

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. Мульти анимация







Чтобы закрыть часть сцены мы сделаем 2 вещи.

1) Создадим квадратную текстуру - просто черную, закрывающую всю сцену, но содержащую в себе прорезь, через которую была бы видна эта часть сцены.



Используя Photoshop создадим изображение 1024х1024 пиксель

Заполним черным цветом

Определим размеры 800х600 окна нашего приложения

Я показал это пурпурным цветом -

В области пурпурного цвета разместим черный квадрат 400х400 пиксель - это будет прорезь

Всё остальное зальем белым цветом

Данный слой используем как альфа маску

Т. е. всё что белое - это будет непрозрачным, черное - прозрачным.

Сохраним данный файл как tga.

2) Ограничим перемещение сцены - т. к. если она будет двигаться свободно от края до края экрана, то квадрат с прорезью не поможет.

Для этого в модуле start.cpp методе -

CD3DGameApp::ChangeGameCursorPos

Изменим код -

LONG cursor_spr_left_limit = 218;//0;
LONG cursor_spr_top_limit = 200;//0;
LONG cursor_spr_right_limit = 587;//(LONG)m_dwScreenWidth;
LONG cursor_spr_bottom_limit = 367;//(LONG)m_dwScreenHeight;


Еще конечно в модуль game_sprite.h нужно добавить код для загрузки текстуры с рамкой.

Для этого добавим туда такой код - #define SpriteTexIndex 0 //это строка после которой надо добавить

#define FrameTexIndex 1 //это строка которую надо добавить

void Anim(); //это строка после которой надо добавить

void DrawFrameTex(); //это строка которую надо добавить



В модуль game_sprite.cpp добавим реализацию описанного метода DrawFrameTex

В самый конец модуля добавим такой код -

void CGameSprite::DrawFrameTex()
{
if ( m_pSprite == NULL )
return;

m_pSprite->Begin( D3DXSPRITE_ALPHABLEND );

LPD3D9SPRITE SpriteSprite = NULL;

SpriteSprite = GetGameSprite(FrameTexIndex, m_pTextures);

if ( SpriteSprite != NULL )
{

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

D3DXVECTOR2 vPos;
vPos.x = SpriteSprite->m_Position.x;
vPos.y = SpriteSprite->m_Position.y;

Vector2Screen(&vPos, &SpriteSprite->m_v2Vector2ScreenPos);

SpriteSprite->Draw2(SpriteSprite->m_v2Vector2ScreenPos.x,
SpriteSprite->m_v2Vector2ScreenPos.y,
SpriteSprite->m_Position.z,
SpriteSprite->m_Scale.x,
SpriteSprite->m_Scale.y,
255);

}

m_pSprite->End();
}




В папку

simple_game\Media\textures\simple_game\ball\



добавим созданную текстуру - файл frame_tex.tga



А в файл

simple_game\Media\textures\simple_game\tex_list.txt

Добавим её описание -

ball\frame_tex.tga; -1.0f; 1.0f; 0.759f; 1.0f; 1.0f; 1024; 1024; 0; 0; 1; 1.0f; 0.0f;

Там теперь будет две записи -

ball\jump.tga; 0.5f; 0.5f; 0.758f; 0.5f; 0.5f; 64; 128; 0; 0; 4; 8.0f; 14.0f;
ball\frame_tex.tga; -1.0f; 1.0f; 0.759f; 1.0f; 1.0f; 1024; 1024; 0; 0; 1; 1.0f; 0.0f;

Первая относится к описанию спрайта нашего прыгающего шарика, а вторая - к рамке, закрывающей часть сцены.

Также обратите внимание, что для шарика я задал координату z = 0.758f

А для рамки - z = 0.759f;

Это сделано для того, чтобы шарик появлялся над рамкой, но в то же время все объекты сцены оказывались за ней.

Как это выглядит визуально Вы сейчас увидите.

Если Вы сделали всё правильно, то после сборки проекта и его запуска Вы увидите на экране такую сцену.



В заключение внесу небольшую поправку - для шарика надо задать z = 0.761f, иначе он не будет перекрываться верхней частью ямы, имитирующей падение.

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


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

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

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



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



megainformatic live chat
Начать беседу
X
 

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



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


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