![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Основы 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]Какую то ошибку?
Так и пишет? "Произошла какая то ошибка!"