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


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

сайт megainformatic - Главная
О чем сайт megainformatic.ru ? За годы его существования, а создан он был в июне 2010 года, цели значительно расширялись и углублялись. В феврале 2006 года я впервые озадачился проблемой создания сайта вообще. Кстати свой доступ в интернет у меня появился в это же время. Первые версии сайта были на бесплатных хостингах (narod, boom, pochta) и делал их на чистом html. Однако уже тогда,
подробнее...

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

Система автоматизированной е-майл рассылки

Система автоматизированной е-майл рассылки

megainformatic - Выгрузка файла на сайт

megainformatic - выпадающее меню на html и css

megainformatic - Использование checkbox

Краеугольная особенность работы Web-form на примере смены состояния checkbox

Технологии WEB

Технологии WEB - AJAX-запросы

Часто Задаваемые Вопросы

Продукты

Проблемы с кодировками при отображении страниц

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

Система Автоматизации Доставки Электронных Заказов megainformatic cms e-pro

megainformatic cms e-pro Автоматизация Обработки Уведомлений о Заказах по партнерским программам

megainformatic cms e-pro Автоматизация Обработки Уведомлений о Заказах по партнерским программам

webinformatic: Музыкальная страничка трэкера

megainformatic - Создание музыки и звука

webinformatic: Создание музыки и звука: урок 2

megainformatic - Создание музыки и звука: урок 3 - настройка Impulse Tracker для работы в WinXP

megainformatic - Создание музыки и звука: урок 4 - Введение в Mod Plug Tracker

megainformatic - Создание музыки и звука: урок 5 - Первая композиция в Mod Plug Tracker

megainformatic - Создание музыки в Impulse Tracker 2.14 - урок 6 - Ввод Нот

megainformatic - Создание музыки в Impulse Tracker 2.14 Первая мелодия

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

megainformatic - Создание музыки и звука: теория и практика создания трэкерской музыки

megainformatic - Инструкция по оплате услуг средствами WebMoney

Основы работы в Microsoft Visual Studio 2008 и DirectX 9 (DX SDK Aug 2008)

Введение в программирование игр на С++ для платформы DirectX 9 - Первый старт

Введение в программирование игр на С++ для платформы DirectX 9 - Меняем иконку приложения

Введение в программирование игр на С++ для платформы DirectX 9 Добавляем другую модель

Введение в программирование игр на С++ для платформы DirectX 9 Программирование игр в directx. Hello, World!

Введение в программирование игр на С++ для платформы DirectX 9 Разбираем конструкции языка C++ на примере работы в Microsoft Visual Studio 2008

Разбираем конструкции языка C++ на примере работы в Microsoft Visual Studio 2008 - Урок 1 Основные операторы языка C++

Разбираем конструкции языка C++ на примере работы в Microsoft Visual Studio 2008 - Урок 1 Основные операторы языка C++ (часть 2)

Урок 2 Написание Win32-приложений. Обзор стартового кода Win32-приложения. Добавление ресурса текстовая строка

Урок 3 Создание Win32-приложений. Создание меню и простых диалоговых окон.

Урок 4 Создание Win32-приложений. Стандартные диалоги. Изучение сопутствующих конструкций языка. Консольные Win32-приложения. Указатели. Ссылочный тип. Массивы.

Урок 4 часть 2 Win32. Диалог выбора цвета, смена цвета фона окна приложения

Написание приложения DirectX9c + MFC в среде MSVS 2005

megainformatic - Создание компьютерных игр на основе DirectX в среде Delphi 6, 7

megainformatic - Создание компьютерных игр на основе DirectX в среде Delphi 6, 7 - Почему избраны DX8 и Delphi ?

megainformatic - Основы IDirectMusic8 в среде Delphi6-7

megainformatic - Основы DirectInput8 в среде Delphi 7

megainformatic - Основы DirectSound8 в среде Delphi6-7

megainformatic - Плагин для 3DS MAX из DX9 SDK

megainformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2)

megainformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 2

megainformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 3

megainformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 4

megainformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 5

megainformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 6

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

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

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

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

подробнее


Поддержка Вашим сайтом нескольких языков - модуль multi lang

поддержка сайтом нескольких языков модуль multi lang
Ваш сайт развивается, либо Вы задумали создать сайт, который должен иметь копии страниц на нескольких языках.

Как реализовать поставленную задачу ?
Для этих целей предлагаю Вам готовое решение. Это модуль multi lang интегрированный в систему megainformatic cms express files работающую без my sql.

Данный пакет включает megainformatic cms express files + модуль multi lang и поддержку 3х языков: RU, EN, UA. (русский, английский, украинский)

Содержится исчерпывающая инструкция по подключению много-язычности к другим вашим сайтам на базе megainformatic cms и её производным.

Вы можете подключить и любые другие языки, подробная инструкция также прилагается.

Приобретая данный продукт - megainformatic cms express files + модуль multi lang

Вы получаете:

- готовый сайт под ключ, устанавливаемый на ваш хостинг за 10 минут путём простого копирования (база данных my sql не требуется);

- поддержку неограниченного числа языков на вашем сайте;

- полностью открытый код на php, возможность интеграции с другими cms (joomla, drupal, wordpress и другие);

- 3 готовых шаблона сайта в комплекте (2 с поддержкой мультиязычности, 1 - без - для примера);

Демонстрация работы системы - http://megainformatic.ru/webprojects/multi_lang

Приобрести комплект megainformatic cms express files + модуль multi lang


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

подробнее

     
 

Основы DirectInput8 в среде Delphi 7

Введение

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

На протяжении нескольких уроков мы рассмотрим как осуществляется это взаимодействие.

DirectInput8

Базовые уроки по DirectInput8

Вашему вниманию предлагаются 2 базовых урока представляющих оригинальные уроки взятые из DX SDK 8 и адаптированные к применению в Delphi 7.

Примечание: длинных описаний и пояснений к урокам пока не даю - все что здесь есть - это в основном исходный код и исполнимый откомпилированный файл. Чтобы детально разобраться в технологии Вам понадобится DX SDK 8 или выше, Delphi 7 (или 6 или выше) и много много терпения и упорства.

Обзор уроков

 
     
 
 

Урок 1

Клавиатура как игровое устройство DirectInput

Урок 2

Мышь как игровое устройство DirectInput  
    Показано как инициализировать, настроить режимы опроса и производить считывание состояния клавиш клавиатуры.   Показано как инициализировать, настроить режимы опроса и производить считывание состояния кнопок и движения мыши.  
  Скачать архив (224 Kb)
Взаимодействие с клавиатурой
Скачать архив (225 Kb)
Взаимодействие с мышью
 
           
 
     
подробнее

     
  Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2)  
     
  модель коммандного центраСкачать готовую модель вы можете кликнув по картинке.  
     
  Этот объемистый урок расскажет Вам как научиться создавать нечто подобное: всем известно, что вышла игра StarCraft 2 компании Blizzard. Об этой игре ходят легенды. Но не дожидаясь когда вам удастся засесть за игру, а также для того, чтобы пополнить свои навыки и умения попробуем вообразить себя "крутым дизайнером" (прямо как из Blizzard) и попробовать создать модель и текстуру для коммандного центра из StarCraft 2.  
     
 

Часть 2

Переходим ко второй части нашего урока - созданию модели в 3ds max. В предыдущей части мы подготовили скетч для облегчения работы по созданию модели.

 
     
  Итак, приступим!  
     
  Запустив 3ds max 7 (или выше) установим для каждого окна Viewport в качестве фонового рисунка созданный скетч -  
     
  Выбираем нужный Viewport, Views > Viewport background > Files и находим нужный файл. Также не забудьте дополнительно установить параметры показанные на рисунке -  
     
  установка фонового изображения для выбранного окна Viewport  
     
  Повторяем эту операцию для остальных окон Проекций (Viewport).  
     
  Открываем готовую модель (которую я уже создал для Вас) - скачать ее можно здесь (40 Кб).  
     
  готовая модель Коммандного Центра - 40 Кб  
     
  И пытаемся разобраться как всё это сделано.  
     
  готовая модель Коммандного Центра  
     
  Посмотрев внимательно на модель Вы можете выделить следующие базовые элементы -  
     
  базовые элементы модели Коммандного Центра  
     
 

- основа (base);

- лесенка (ladder);

- стойка (support);

- элементы крыши (roof);

- башенка (tower);

 
     
 

Основа - это большой видоизмененный при помощи модификатора Editable Mesh цилиндр.

Лесенка - видоизмененный box;

Стойка - это совокупность видоизмененных цилиндров; Клонированием стоек Вы получите 4.

Элементы крыши - крестообразная конструкция полученная модификациями в основе которых лежит обычный box, модификатор тоже обычный - editable mesh. (Неужели из обычного бокса можно сделать такое?!)

Башенка - снова видоизмененный цилиндр.

 
     
  Начнём с Основы. Создаем цилиндр радиусом 1,4 единиц, высотой 0,2, Height Segments = Cap Segments = 1, Sides = 24.  
     
  В стеке модификаций преобразуем примитив в editable mesh правой кнопкой мыши.  
     
  Основа имеет коноидальную форму, поэтому потребуется расширить основание цилинда за счет смещения вершин - в стеке модификаций раскрываем узел Editable Mesh и выделяем уровень воздействия на vertex (вершины).  
     
  работа с моделью на уровне вершин  
     
  В окне фронтальной проекции выделяем все вершины основания и при помощи инструмента Select And Uniform Scale в окне проекции вида сверху растягиваем выделенные вершины для образования коноидальной формы.  
     
  расширение дна  
     
  Переходим на уровень воздействия Polygon в стеке модификаций, выделяем полигон в основании (окружность) и производим серию выдавливаний и вдавливаний - кнопка Bevel в группе Edit Geometry окна модификатора editable mesh, добиваясь нужной формы основания в соответствии со скетчем -  
     
  выдавливание нужных форм  
     
  вдавливание  
     
  Если сравнить полученное основание с основанием в готовой модели Вы увидите насколько точно Ваша работа соответствует цели. Если не совсем получилось - поэкспериментируйте еще!  
     
  Внимательно рассмотрев основание в готовой модели Вы наверное сразу догадаетесь что еще нужно вдавить и выдавить -  
     
  выделение для выдавливания декоративных выступов  
     
  выдавливание выступов  
     
  Выдавливаем выход и выступ с противоположной стороны -  
     
  формирование двери и выступа  
     
  Наверное вы знаете, что работать можно с вершинами, ребрами, гранями, полигонами - достаточно лишь выбрать нужный объект в стеке модификаций модификатора editable poly. Кроме того, выделенные объекты можно не только выдавливать, но и видоизменять стандартными инструментами - Select And Move, Select And Uniform Scale. За счет этого можно улучшать вид и придавать нужную форму. Это касается и нашего последнего выступа на основании базы. Его можно улучшить. Сделайте его похожим на тот, который имеется в готовой модели.  
     
  улучшение выступа  
     
  На переднем плане показан выступ в готовом основании базы, на заднем плане - тот который предстоит еще сформировать после применения Extrude (выдавливания). Для придания нужной формы за счет смещения ребер - переходим на уровень Edge в узле Editable Mesh стека модификаций, выделяем нужные ребра и смещаем их.  
     
  То же можно сделать на уровне вершин, слегка вдвинув слишком выпирающие точки на оси симметрии выступа.  
     
  Последний штрих - посмотрите на готовое основание и выдавите еще то, чего не хватает, чтобы Ваше основание полностью соответствовало готовому.  
     
   
     
  [назад] [далее мы создадим стойки (опоры)]  
     
подробнее

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

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



Мы плавно подобрались к изучению следующего вопроса.

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







3) Научиться управлять перемещением сцены - чтобы она двигалась при перемещениях мыши.

Для реализации управления в игре используется компонент DirectInput. Он входит в состав DirectX и служит для управления игрой. Стандартные поддерживаемые устройства это клавиатура и мышь.

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

Тем самым Вы узнаете сразу несколько вещей: как перемещать по экрану спрайты, как выполнять управление игрой посредством DirectInput и наконец, как перемещать игровую сцену.

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

Итак, чтобы отследить перемещения мыши в модуль start.h добавим такой код

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

//перемещение указателя мыши
void ChangeGameCursorPos(); //это код, который нужно добавить



А в модуль start.cpp добавить

в методе

CD3DGameApp::FrameMove

case APPSTATE_READY:

UpdateInput( &m_UserInput ); //это код, после которого надо добавить

//перемещение указателя мыши
ChangeGameCursorPos(); //это код, который нужно добавить



и в самый конец модуля start.cpp

добавить реализацию этого метода -

void CD3DGameApp::ChangeGameCursorPos()
{
POINT CursorPos;
GetCursorPos(&CursorPos);

RECT rcClip;
GetWindowRect(m_hWndMain, &rcClip);

LONG cursor_at_window_x = CursorPos.x - rcClip.left;
LONG cursor_at_window_y = CursorPos.y - rcClip.top;

LONG cursor_spr_left_limit = 0;
LONG cursor_spr_top_limit = 0;
LONG cursor_spr_right_limit = (LONG)m_dwScreenWidth;
LONG cursor_spr_bottom_limit = (LONG)m_dwScreenHeight;

if ( cursor_at_window_x < cursor_spr_left_limit )
cursor_at_window_x = cursor_spr_left_limit;

if ( cursor_at_window_x > cursor_spr_right_limit )
cursor_at_window_x = cursor_spr_right_limit;

if ( cursor_at_window_y < cursor_spr_top_limit )
cursor_at_window_y = cursor_spr_top_limit;

if ( cursor_at_window_y > cursor_spr_bottom_limit )
cursor_at_window_y = cursor_spr_bottom_limit;

m_scrCursorPos.x = (float)cursor_at_window_x;
m_scrCursorPos.y = (float)(cursor_at_window_y);
g_AI_Ball_Sprite.m_v2Pos = m_scrCursorPos;
}



Все - теперь при перемещениях мыши наш шарик перемещается вместе с ней. Что нам и требуется только не для шарика, а для самой сцены.

Прыгающий шарик перемещаемый мышкой



Теперь вы знаете как перемещать спрайты, это может пригодиться вам при создании других игр.

А сейчас отключим шарик от перемещений мышью - для этого закомментируем строку кода -

//g_AI_Ball_Sprite.m_v2Pos = m_scrCursorPos;


Сохраним изменения в проекте, перекомпилируем приложение. И увидим, что шарик уже не перемещается при перемещении мыши.

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

Если бы был некий объект сцены и у него бы было свойство, хранящее глобальную позицию сцены на экране, изменяя которую мы могли бы добиться желаемого эффекта.

Но у нас же есть такой объект ! - если Вы помните из страницы 6 - Загрузка игровой сцены, он называется

m_pGameSceneDataFile

Уже хорошо. А помните ли Вы какой метод для него добавляли ? Он был связан со скроллингом сцены.

ScrollGameScene ?

Да ! Он самый. Посмотрите какой код там внутри и Вы, возможно уже догадаетесь какой код нужно написать. Точнее всего несколько строк кода.

Давайте напишем его.

//g_AI_Ball_Sprite.m_v2Pos = m_scrCursorPos; //после данной закомментированной строки добавим нижеследующий код

POINT Pos;
Pos.x = cursor_at_window_x;
Pos.y = cursor_at_window_y;

D3DXVECTOR2 vPos;
Screen2Vector(&Pos, &vPos);

g_fHorizontalScrollOffset = vPos.x;
g_fVerticalScrollOffset = vPos.y;
ScrollGameScene();



Сохраним изменения в проекте, перекомпилируем приложение. И увидим, что теперь при перемещениях мыши перемещается игровая сцена.



Мы добились желаемого !!!

Однако, как Вы можете заметить, есть и некоторые недостатки.

1) Это то, что когда сцена уходит за пределы экрана, на её месте остается пустота - синий фон.

и

2) То что шарик не всегда красиво проваливается в яму. Если он окажется немного ниже ямы или чуть левее или правее - то получается совсем не красиво. Часть шарика перекрывается фоном имитирующим верхнюю видимую часть ямы.

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

А вот для решения второй проблемы можно придумать более хитрые способы. О них мы поговорим на следующей странице. Оставайтесь с нами ! :)



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



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



Пожалуйста войдите на сайт - Вход

или пройдите процедуру регистрации - Регистрация

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

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



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


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