forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Blitz3D (http://forum.boolean.name/forumdisplay.php?f=45)
-   -   Вопрос-Ответ (для новичков) (http://forum.boolean.name/showthread.php?t=7886)

LLI.T.A.L.K.E.R. 27.07.2011 21:26

Ответ: Вопрос-Ответ (для новичков)
 
А как делать потом с него копии для последующих цепочек?
После FreeEntity Snake_main_body далее происходит Entity does not exist (а мне она ещё нужна будет)
Сейчас видео закачается - будет понятнее проблема:

Видео:


~~~
Невидимым копируемые объекты всегда сразу же делаю.
Посмотрю ещё другие проекты с копированием.

А что там за фиолетовый кружок я вообще фигею!

NitE 27.07.2011 21:33

Ответ: Вопрос-Ответ (для новичков)
 
Я знаю в чем проблема! У тебя в коде что-то не так.
А музон прям необходим был для лучшего понимания проблемы.

RBK 27.07.2011 21:36

Ответ: Вопрос-Ответ (для новичков)
 
Согласен с NitE, что-то в коде.

LLI.T.A.L.K.E.R. 27.07.2011 21:44

Ответ: Вопрос-Ответ (для новичков)
 
Намёк то понятен. Просто непонятка при наипростейшей блитзевской комадне, от кода которая особо не зависит.

Кажется засирание копиями происходит при обращении Last Before First хендлам типов.
Сделал КопиМеш только при загрузки каждой цепочки
Код:

For i%=1 To Snake_Size
        Snake.Snake_Type=New Snake_Type
       
        Snake\body%=CopyMesh(Snake_main_body)

- всё чисто.

Как установить
Код:

Snake=First Snake_Type
Snake\body=CopyMesh(Snake_main_body)

чтобы не засоряло при этом?
Это устанавливает модель головы на первую цепь. (Модель головы ещё не сделана)


Код:

Snake\body=Snake_main_body
тупо оставляет копию меша (в позиции 0,0,0)

RBK 27.07.2011 21:50

Ответ: Вопрос-Ответ (для новичков)
 
Используй список только для тела, голову и хвост сделай отдельно.

LLI.T.A.L.K.E.R. 27.07.2011 21:53

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от RBK (Сообщение 196916)
Используй список только для тела, голову и хвост сделай отдельно.

Сложно будет переделывать..

Удалять (чистить) Mesh нельзя?

Пока сделаю решение такое:
Код:

Snake=First Snake_Type
HideEntity Snake\body
Snake\body=CopyMesh(Snake_main_hvost)

перед смены меша - прятать предыдущий вид меша

При макс. количестве 50 - память не нагрузится.

RBK 27.07.2011 21:59

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от LLI.T.A.L.K.E.R. (Сообщение 196917)
Удалять (чистить) Mesh нельзя?

можно, FreeEntity

Логику игры легче поправить на раннем этапе, потом станет еще хуже.

KingMaks 28.07.2011 01:25

Ответ: Вопрос-Ответ (для новичков)
 
В physx создал луч ray_cam = pxCreateRay()
позицыонирую в координаты камеры pxRaySetPosition(ray_cam,EntityX(cam),EntityY(cam) ,EntityZ(cam))
так не выдает ошибок, как только добавляю строчку ray=pxRayGetBody(ray_cam, 2) то примерно через секунду после проверки игры она зависает. Может это связано с лицензией? но при лицензии ошибка просто выскакивает, а тут зависает.

NitE 28.07.2011 03:16

Ответ: Вопрос-Ответ (для новичков)
 
Физикс устарел и не обновляется, используй что-нибудь более актуальное, например буллет и проблем станет меньше.

KingMaks 28.07.2011 04:29

Ответ: Вопрос-Ответ (для новичков)
 
далеко зашел в игре, чтобы возвращаться. Да мне от физикса многое и не надо, только бы с лучами разобраться

Жека 28.07.2011 06:43

Ответ: Вопрос-Ответ (для новичков)
 
LLI.T.A.L.K.E.R., зачем тебе искать голову через First, ты изначально создавай её первой и присваивай меш головы, а остальные части создавай в цикле и для них свой меш.
Ещё в сам тип можно флаг добавить isHead - и для башки поставить ему 1. Тогда можно будет в цикле обработки по нему определять голову, и можно не выносить из списка голову.
И для хвоста аналогично.

LLI.T.A.L.K.E.R. 28.07.2011 13:13

Ответ: Вопрос-Ответ (для новичков)
 
Змейку сделал. Вот скриншот.
Уезжаю на недельку в деревню.

Комментарии в коде до конца допишу и выложу архив.

RBK 28.07.2011 15:39

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от KingMaks (Сообщение 196941)
В physx создал луч ray_cam = pxCreateRay()
позицыонирую в координаты камеры pxRaySetPosition(ray_cam,EntityX(cam),EntityY(cam) ,EntityZ(cam))
так не выдает ошибок, как только добавляю строчку ray=pxRayGetBody(ray_cam, 2) то примерно через секунду после проверки игры она зависает. Может это связано с лицензией? но при лицензии ошибка просто выскакивает, а тут зависает.

Попробуй указать для луча направление, используй pxRaySetDir(ray%, nx#, ny#, nz#)

Mind 30.07.2011 15:14

Ответ: Вопрос-Ответ (для новичков)
 
Помогите по подробней разобраться с командой физикса враппера:
pxBodySetMassSpaceInertiaTensor(num%, x#, y#, z#)
Я только знаю что это влияет на инерцию тела(каким-то образом)
Но когда я телу ставлю все параметры одинаковыми, то оно прыгает или не движится 0_o!
Видимо плохо понимаю команду!

KingMaks 01.08.2011 21:04

Ответ: Вопрос-Ответ (для новичков)
 
как в Physx предотвратить ходьбу по наклонам? а то заходит даже на наклоны которые почти как стена, а нужно, чтобы максимум на наклон 50-60 градусов


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

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