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


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

megainformatic - Создание музыки в Impulse Tracker 2.14 Настройка параметров сэмплов
          Урок 8: Настройка параметров сэмплов
подробнее...

Теги

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

Статьи сайта

megainformatic - Мои впечатления о книге - Владислав Крапивин - Журавленок и Молнии

megainformatic - Модуль отзывов/комментариев для вашего сайта

megainformatic - Модуль отзывов/комментариев для вашего сайта

megainformatic - Модуль отзывов/комментариев для вашего сайта

megainformatic - Модуль короткие ссылки short link

megainformatic - Работа с сокетами fsocket из php

megainformatic - Как создать игру Создание игровых панелей и индикаторов

megainformatic - Приключения Кости Коробкина - Как я провел лето - интерактивный комикс

megainformatic - Приключения Кости Коробкина - Как я провел лето - интерактивный комикс

megainformatic - Приключения Кости Коробкина - С новым годом - интерактивный комикс

megainformatic - Система управления сайтом на php - megainformatic cms admin files

megainformatic - обзор антивирусных средств защиты

megainformatic - как работает антивирус ?

megainformatic - Создание сайта для бизнеса

megainformatic - Новый взгляд на очевидные вещи

megainformatic - Разработка программ на c++

megainformatic - Немного о музыке

megainformatic - GET и POST запросы

megainformatic - для чего нужна карта сайта

megainformatic - Web Администрирование

megainformatic - Мысли о разном

megainformatic - Легко ли быть программистом

megainformatic - Глубины программирования на C++

megainformatic - Убираем лимит на размер импортируемого файла в PhpMyAdmin

megainformatic - Как создать torrent файл

megainformatic - Нужна ли валидация вашему сайту ?

megainformatic - Антивирус DrWeb

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

megainformatic - Что такое BitTorrent (БитТоррент)

megainformatic - Миссис Даутфайр 1993 фильм torrent

megainformatic - Как скачивать торрент-раздачу ?

megainformatic - Автотелега фильтр

megainformatic - Фильмы

megainformatic - Fahrengeit Фаренгейт игра 2006 для PC

megainformatic - Fez игра для PC 2013

megainformatic - Дневник памяти - фильм 2004

megainformatic - Scooter - The night - Video and Lyrics - Скутер - Ночь - Видео и лирика

megainformatic - Если всё же неудача

megainformatic - Смерть или искупление или избавление

megainformatic - По ту сторону

cj megainformatic - музыкальный альбом БЕСКОНЕЧНОЕ ДВИЖЕНИЕ ОЖИДАНИЕ И ДЕЙСТВИЕ

megainformatic - Костя Коробкин - Секретный проект - интерактивный комикс

megainformatic - Основы анимации во флеш на примере анимирования простейшей окружности

megainformatic - Парсер сайтов Введение

megainformatic - Я пишу музыку для себя и для продажи

megainformatic - Статьи на околомузыкальные темы - осень 2014 часть 1

megainformatic - рассказ - Чужие воспоминания - автор Синицин Андрей - 24.09.2014

megainformatic - Сайты живущие вне поисковых систем. Есть ли такие и как их найти ?

megainformatic - Game craft - проект разработки игровых и мультимедийных проектов

megainformatic - Game craft - моделируем scv

megainformatic - Game craft - моделируем scv - шаг 1 (часть 2)

megainformatic - Game craft - моделируем scv - шаг 2 (часть 3)

megainformatic - Game craft - Наложение текстуры на модель робота scv (часть 4)

megainformatic - Game craft - Прорисовка текстуры робота SCV шаг 5

megainformatic - Game craft - Экспорт модели из 3ds max в формат X

megainformatic - Game craft - отображение scv модели в формате x в d3d9-приложении

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;


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

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

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



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



 

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



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


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