Среда, 18 Декабря 2024, 04:51

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Помогите с игрой в DarkGDK
Mogby01Дата: Воскресенье, 21 Марта 2010, 15:07 | Сообщение # 1
был не раз
Сейчас нет на сайте
Помогите, пожалуйста!Пишу игру на C++, с использованием библиотеки DarkGDK.На сцене создан самолет, скайбокс и ландшафт.После того, как я запрограммировал самолет и запустил игру, то при нажатие кнопок "вверх" и "вниз" камера приближается к нему.Как это исправить?
Исходный код:
Quote
#include "DarkGDK.h"

// Создаем переменные с ID объектов
int Terrain = 1;
int SkyBox = 2;
int JetFighter = 3;

// Создаем функцию, обрабатывающую ввод с клавиатуры
void UserInput ( void )
{
// Клавиша "вверх"
if ( dbUpKey ( ) )
{
dbPitchObjectUp ( JetFighter, 1.0 );
dbPitchCameraUp ( -1.0 );
}
// Клавиша "вниз"
if ( dbDownKey ( ) )
{
dbPitchObjectDown ( JetFighter, 1.0 );
dbPitchCameraDown ( -1.0 );
}
// Клавиша "влево"
if ( dbLeftKey ( ) )
{
dbRollObjectLeft ( JetFighter, -1.0 );
dbRollCameraLeft ( 1.0 );
}
// Клавиша "вправо"
if ( dbRightKey ( ) )
{
dbRollObjectRight ( JetFighter, -1.0 );
dbRollCameraRight ( 1.0 );
}
}
// В DarkGDK заместо функции main() используется DarkGDK()
void DarkGDK ( void )
{
// Устанавливаем параметры экрана, переходим в полноэкранный режим
dbSetDisplayMode ( 1280, 1024, 32 );
dbSetWindowOff ();

dbSyncOn ( );
dbSyncRate ( 60 );

// Устанавливаем рабочую директорию
dbSetDir ( "Media" );

// Создаем ландшафт
dbLoadImage ( "Terrains\\Default Terrain\\texture.jpg", 1 );
dbLoadImage ( "Terrains\\Default Terrain\\detail.jpg", 2 );
dbSetupTerrain ();
dbMakeObjectTerrain ( 1 );
dbSetTerrainHeightMap ( 1, "Terrains\\Default Terrain\\map.bmp" );
dbSetTerrainScale ( 1, 6.0, 1.2, 6.0 );
dbSetTerrainLight ( 1, 1.0f, -0.25f, 0.0f, 1.0f, 1.0f, 0.78f, 0.5f );
dbSetTerrainTexture ( 1, 1, 2 );
dbBuildTerrain ( 1 );

// Создаем "СкайБокс"
dbLoadObject ( "Sky Boxes\\Default Sky Box\\skybox2.x", 2 );
dbSetObjectLight ( 2, 0 );
dbScaleObject ( 2, 30000, 30000, 30000 );

// Создаем самолет
dbLoadObject ( "Models\\Jet Fighter\\Jet Fighter.x", 3 );
float JetFighterSpeed = -2.5;

// Устанавливаем позицию и орентацию объектов
dbPositionObject ( JetFighter, dbObjectPositionX ( Terrain ), dbObjectPositionY ( Terrain ) + 10, dbObjectPositionZ ( Terrain ) );
dbPositionCamera ( dbObjectPositionX ( JetFighter ), dbObjectPositionY ( JetFighter ), dbObjectPositionZ ( JetFighter ) + 25 );
dbRotateCamera ( 0.0, 180.0, 0.0 );
// Устанавливаем "дальность видимости" камеры
dbSetCameraRange ( 1.0f, 30000.0f );
float CameraSpeed = 2.5;

while ( LoopGDK ( ) )
{
// Тело главного цикла программы
dbPointCamera ( dbObjectPositionX ( JetFighter ), dbObjectPositionY ( JetFighter ), dbObjectPositionZ ( JetFighter ) );
dbMoveObject ( JetFighter, JetFighterSpeed );
dbMoveCamera ( -JetFighterSpeed );
UserInput ( );
dbSync ( );
}

// Возвращаемся в Windows
return;
}


Могу дать ссылку на исходный код и/или скомпилированый проект.


Сообщение отредактировал Mogby01 - Воскресенье, 21 Марта 2010, 16:48
ezhickovichДата: Воскресенье, 21 Марта 2010, 16:13 | Сообщение # 2
[Великий и могучий хозяинъ]
Сейчас нет на сайте
А ты давно с DarkGDK работаеш?


Я: О великий повелитель этой ничтожной вселенной - сокращённо ЁЖ!
Mogby01Дата: Воскресенье, 21 Марта 2010, 19:09 | Сообщение # 3
был не раз
Сейчас нет на сайте
Нет, где-то недели две-три...

Добавлено (21.03.2010, 19:09)
---------------------------------------------
Спасибо, разобрался сам. biggrin Но все равно интересны ваши предложения

  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг