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


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

megainformatic - КАК СОЗДАТЬ СВОЮ ИГРУ - Набор разработчика игр - Нечто: Необъяснимое - в плену желаний
        КАК
подробнее...

Теги

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

Статьи сайта

megainformatic - Теория и практика 3d игр - Важные замечания

megainformatic - Моделируем девушку в 3d используя 3ds max - Подготовка к моделированию ноги - готовим ширму

megainformatic - Моделируем девушку в 3d используя 3ds max - Выполняем моделирование ноги

megainformatic - Моделируем девушку в 3d используя 3ds max - Улучшаем созданную модель женской ножки

megainformatic cms stat kit

megainformatic - Подводная лодка и подводный мир

megainformatic - megainformatic cms - Форма для смены шаблонов сайта - модуль template selector

megainformatic cms social

megainformatic cms social Руководство пользователя

megainformatic - megainformatic cms - Форма для смены шаблонов сайта - модуль template selector

модуль слайдера

ТЗ на сайт коллективных покупок

модуль slider

megainformatic cms seo

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

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

megainformatic - Моделируем девушку в 3d используя 3ds max - другие статьи сборника статей - обзор

установка нового шаблона в joomla 2.5.4

Описание продукта megainformatic cms social

Описание продукта megainformatic cms social

megainformatic - ТЗ на сайт по аналогии rys-stroi.ru

megainformatic cms groupon

megainformatic - дизайн сайта строительной компании УЛЬТРА-СТРОЙ

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

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 - Что нужно знать для создания сайта ? Содержание

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

7 - Moving game scene



We slowly crept on to the next question.

читать данную статью на русском





Content

page 1 - Sprites

page 2 - Objects

page 3 - Overlay objects

page 4 - Coding - Setting parameters for the Scene Editor fge and write code to display the sprite ball in your first gaming application

page 5 - Show jumped ball

page 6 - Loading game scene

page 7 - Moving game scene

page 8 - Closing of the scene from the cavities by means of a black texture with a slot, restricts the movement of the scene

page 9 - We realize getting into the correct hole and around the holes - holes define the boundaries of sprites and sprite jumped ball

page 10 - Testing collisions

page 11 - Game score, sounds, music







3) Learning to control the movement of the scene - so she moved with mouse movements.

To implement the control component DirectInput is used in the game. It is part of DirectX and serves to control the game. The standard is supported by the device keyboard and mouse.

We need something to move around the screen in order to see our actions. Let us first learn how to move around the screen, our jumping ball. And only then will move the action on scene - forcing it to move, but not the ball.

Thus, you will learn several things: how to move around the screen sprites, how to perform control the game through DirectInput and finally, how to move the gaming scene.

In fact, tracking the mouse movements do not even want to use DirectInput. It is, in principle, it can carry out, but you can do without it. DirectInput will be needed mainly for tracking clicks the left mouse button, when we do something linked with it. As long as we do not need it, we leave this question in the near future.

Thus, to track mouse movement in module start.h add the following code

void LoadGameDataBlock();//this code, which must be added after

//move the mouse pointer
void ChangeGameCursorPos(); //is the code that you need to add



And in module start.cpp add

in method

CD3DGameApp::FrameMove

case APPSTATE_READY:

UpdateInput( &m_UserInput ); //this code, which must be added after

//move the mouse pointer
ChangeGameCursorPos(); //is the code that you need to add



and at the very end of the module start.cpp

add the implementation of this method -

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;
}



All - now with the mouse movements of our ball moving with it. What we need, and not for the ball, but for most scenes.

Jumping ball moved by mouse



Now you know how to move sprites, it may be useful to you to create other games.

Now disable the movement of the ball with the mouse - to comment out this line of code -

//g_AI_Ball_Sprite.m_v2Pos = m_scrCursorPos;


Save changes to the project, recompile the application. And we see that the ball does not move when you move the mouse.

To implement the move game scene, I think you have guessed, it is necessary to substitute instead of coordinates used for the sprite ball ... right! - To substitute the coordinates of the scene. The only question is how to do it.

If there was a certain object in a scene, and he would have been the property of storing the global position of the scene on the screen, changing which we could achieve the desired effect.

But we already have such a facility! - If you remember from page 6 - Loading game scene, it is called

m_pGameSceneDataFile

Already good. Do you remember what method was added to it? It was associated with scrolling scenes.

ScrollGameScene ?

Yes ! It is. Look at some code in there, and you may have already guessed what code you need to write. More precisely only a few lines of code.

Let's write it.

//g_AI_Ball_Sprite.m_v2Pos = m_scrCursorPos; //after this commented line add the following code

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();



Save changes to the project, recompile the application. And we see that now when you move the mouse moves game scene.



We have achieved the desired !!!

However, as you can see, there are some drawbacks.

1) This is when the scene leaves the screen in its place is empty - blue background.

and

2) The fact that the ball is not always beautiful falls in a hole. If he is a little below the hole or slightly to the left or to the right - it turns out is not beautiful. Part of the ball overlaps background simulating upper visible part of the hole.

To solve the first problem, you can either increase the size of the stage, or on top of the scene to impose a rectangle with a slot through which is visible only a small part of it.

But to solve the second problem, you can come up with more clever ways. On them will be discussed on the next page. Stay with us ! :)



[previous] [next]



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

Registered comments



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


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
















    
Время загрузки: 1,0606