forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Spawn Entity CreateCube() & LoadAnimMesh() (http://forum.boolean.name/showthread.php?t=16510)

SkyMD 20.03.2012 23:03

Spawn Entity CreateCube() & LoadAnimMesh()
 
Всем привет!
Принимайте новеньких:)

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

значит расставляемые кубы реализованы были так

Код:

;-------------------------------------------------------
Dim Walls(29)
 
For i=0 To 29
 
 Walls(i)=CreateCube()
 EntityColor Walls(i),255,0,0
 Repeat 
 
  PositionEntity Walls(i),Rnd(-40,40),0,Rnd(-40,40)
 
 Until Abs(EntityX(Walls(i)))>10 Or Abs(EntityZ(Walls(i)))>10
 
 EntityType Walls(i), TypeWalls
 
Next
;------------------------------------------------------


так вот все классно пока не надоедает лицезреть красные квадраты.
И полистав учебник нашел пример как загрузить и анимировать модель
(*.3ds)

урок по учебнику выполнил все сложилось/запустилось

Далее от сюда скачал пак моделек, среди которых есть моделька краба.
Вот и решил заменить кубы на эту модельку. И сразу обломился

Что только я не предпринимал и копирование, и просто замену мешей...

. . .
Код:

;---------------------------------------------------------------
Ra = LoadAnimMesh(".\media\CRAB\CRAB_L.3DS");

For i=0 To 29
 
Walls = CopyEntity(Ra)

 PositionEntity Walls,Rnd(-40,40),0,Rnd(-40,40)
 
Next
Walls = CopyEntity(Ra)
;----------------------------------------------------------------

Что бы я не делал он не видит объект,
ясно говоря мне Entity does not exist


В общем понял что лучше спросить знающих людей.

за ранее спс
...- - -...

St_AnGer 20.03.2012 23:13

Ответ: Spawn Entity CreateCube() & LoadAnimMesh()
 
Ну первое что приходит на ум - файл точно .3ds формата? Не .b3d???
второе - на какой объект выдаёт эту ошибку? Точно на Walls?

А вообще, на будущее, лучше сразу в архивчике выкладывать исходник и файлы к нему. Что бы у желающих помочь было как можно меньше вопросов и как можно больше ответов.

Markova 20.03.2012 23:16

Ответ: Spawn Entity CreateCube() & LoadAnimMesh()
 
Скорее всего, дело в пути к файлу ну ещё Global Ra
сам код правильно работает

SBJoker 20.03.2012 23:17

Ответ: Spawn Entity CreateCube() & LoadAnimMesh()
 
Для начала положи модельку рядом с программой и измени путь оставим только имя файла. Если будет работать - раньше ты указывал неправильный путь.

SkyMD 21.03.2012 00:44

Ответ: Spawn Entity CreateCube() & LoadAnimMesh()
 
хм. попробую
заменил на это и все сработало вроде
Код:

Ra = LoadMesh(".\media\model\CRAB\CRAB_L.3DS");
дело в путях было

tirarex 21.03.2012 14:56

Ответ: Spawn Entity CreateCube() & LoadAnimMesh()
 
а зачем точка в начале пути к файлу мм

mr.DIMAS 21.03.2012 15:18

Ответ: Spawn Entity CreateCube() & LoadAnimMesh()
 
Цитата:

Сообщение от tirarex (Сообщение 223289)
а зачем точка в начале пути к файлу мм

Чтобы пойти назад в предыдущую папку от той где лежит екзешник. А потом уже оттуда идти в media и т.д

St_AnGer 21.03.2012 18:26

Ответ: Spawn Entity CreateCube() & LoadAnimMesh()
 

Цитата:

Сообщение от mr.DIMAS (Сообщение 223290)
Чтобы пойти назад в предыдущую папку от той где лежит екзешник. А потом уже оттуда идти в media и т.д

эмм... а не двоеточие ли возвращает в предыдущую exe папку? Времена ms-dos конечно давно прошли, это понятно, но командная строка то работает... одна точка указывает ту же папку, в которой exe файл лежит

SkyMD 22.03.2012 00:26

Ответ: Spawn Entity CreateCube() & LoadAnimMesh()
 
Цитата:

Сообщение от St_AnGer (Сообщение 223306)



эмм... а не двоеточие ли возвращает в предыдущую exe папку? Времена ms-dos конечно давно прошли, это понятно, но командная строка то работает... одна точка указывает ту же папку, в которой exe файл лежит

Ну я вообще то только учу - Блитц 3д) ".\" увидел опять же на просторах интернета

проще конечно сделать было бы и
...
Код:

AnsiString fDir = ExtractFilePath(Application->ExeName);
...
Но это ведь не борланд а язык не С++
Но мне понравился движок и количество информации по Блитц 3д, и теплая атмосфера этого форума :)


Часовой пояс GMT +4, время: 15:23.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot