Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Основы ODE [Delphi, GLScene]


sayman ©   (2007-01-12 22:41:00) 

Я нашёл статью на геймдеве, называется она "Основы ODE" (GLScene), раз пять делал точь в точь как там написано, и после компиляции нажимаю я клавишу вперёд, и пишет какую-то ошибку.

У кого получилось, прошу прислать мне исходник. Заранее спасибо!


btest   (2007-01-15 06:39:00) [1]

test


@!!ex   (2007-01-14 19:58:00) [2]


> sayman   (14.01.07 19:56) [15]

Врядли. Может он где то чиститься?
Извини, но я у меня только догадки.
Никогда с ODE дел не имел и демки у меня нет.


sayman   (2007-01-14 19:56:00) [3]

каковато уже пустой, оно что каждый раз збиваеться!


@!!ex   (2007-01-14 19:39:00) [4]

Что и требовалось доказать.
ОТкуда уверен, что список не пустой?


sayman   (2007-01-14 19:36:00) [5]

@!!ex, нифига, всё то же и пишет


@!!ex   (2007-01-14 18:54:00) [6]

Ок. Закомментируй весь код и напиши вместо него:
procedure TForm1.GLCadencer1Progress(Sender: TObject; const deltaTime,
newTime: Double);
var
 Test:TGLODEDynamic;
begin
 Test:=TGLODEDynamic(GLSphere1.Behaviours[0]);
end;

Есть AV?


sayman   (2007-01-14 18:43:00) [7]

не, он не пуст. А если у тя получилось, или вообще знаешь оде, то пришли мне демку. ПЛЗ:)


@!!ex   (2007-01-14 18:29:00) [8]

Очевидно, что ошибка возникает при обращение к списку GLSphere1.Behaviours[0].
Где в этот список добавляются элементы?
По умолчанию, как я понимаю, он пуст. Не удевительно, что при попытке вытащить из него элементы вылезает AV.


sayman   (2007-01-14 14:15:00) [9]

@!!ex,чё?


@!!ex   (2007-01-14 01:02:00) [10]

GLSphere1.Behaviours[0] - где заполняется??


sayman   (2007-01-13 12:22:00) [11]

procedure TForm1.GLCadencer1Progress(Sender: TObject; const deltaTime,
 newTime: Double);
begin
if IsKeyDown(VK_UP) then dBodyAddTorque(TGLODEDynamic(GLSphere1.Behaviours[0]).Body,-100,0,0);
 if IsKeyDown(VK_LEFT) then dBodyAddForce(TGLODEDynamic(GLSphere1.Behaviours[0]).Body,-20,0,0);
 if IsKeyDown(VK_RIGHT) then dBodyAddForce(TGLODEDynamic(GLSphere1.Behaviours[0]).Body,20,0,0);
 GLODEManager1.Step(deltaTime);

end;

Вот код обработки нажатия клавиш, я его из той статьи скопировал.

По лодкиным демкам нихрена не понял, там на форме даже GLODEManager нет, а так не могу, я только начинающий. Так что будет лучше есле по меньше кода будет. Я уже весь нЭт облазил, про ОДЕ только одна эта статья, надо найти что-то человеческое.

:)


Боцман   (2007-01-13 04:00:00) [12]

По-моему с ODE проще разобраться по лодкиным демкам: http://lodka3d.narod.ru/demo/odedemos.html
К тому же не надо угадывать где чего разместить, а можно прямо в лодке всё расставить, а потом только загрузить.


MissingLink   (2007-01-13 01:13:00) [13]

Дайте ссылку!


@!!ex   (2007-01-13 00:13:00) [14]

Ок.. Что за код выполняется при нажатии клавиши вперед, где описывается список и когда идет обращение к 0 элементу?


sayman   (2007-01-12 23:29:00) [15]

И у мня тоже это пишет!


Samarik   (2007-01-12 23:29:00) [16]

Пишет:

Project Project1.exe raised exeption class ElistError with message 'List index of bounds(0)' . Process stopped. Use step or...


@!!ex   (2007-01-12 23:18:00) [17]

Какую то ошибку?
Так и пишет? "Произошла какая то ошибка!"


Наверх

Титульная страница Поиск, карта сайта Написать письмо