forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Ссылка на объект списка по его мешу (http://forum.boolean.name/showthread.php?t=1818)

ISKATEL 31.10.2006 15:36

Ссылка на объект списка по его мешу
 
Всем привет. Такая проблема: у меня есть два типа. Тип снарядов и тип танков. При создании снаряда значению sn\cel присваевается мешь танка- цели снаряда.
Код:

For tank1.tank=Each Tank
-//-
Tank1\zar=Tank1\zar+1
                        If Tank1\zar>100 Then
                        PointEntity Tank1\bahn,Tank1\ent_dr
                        Tank1\zar=0
                        sn.puli=New puli
                        sn\entity=CopyEntity(snar,Tank1\bahn)
                        sn\cel=Tank1\ent_dr
                        PointEntity sn\entity,Tank1\ent_dr
                        PositionEntity sn\entity,0,0.5,9
;PositionEntity sn\entity, EntityX(bahna),EntityY(bahna),EntityZ(bahna)
                        EntityParent sn\entity,0
                        EntityType sn\entity, SHOT
                        EndIf
;                        If Tank1\zar<100 Then Tank1\zar = Tank1\zar+1
                        DebugLog +Tank1\storona+" "+Tank1\zar
-//-
next

Далее в функции полёта снаряда проверяется, если дистанция между снарядом и танком- целью меньше 3 то идёт анимация взрыва, удаление снаряда, и ещё я хочу чтобы в типе , к которому принадлежит этот мешь танка- цели значение "жизнь" те Tank1\live=Tank1\live=-50.

Код:

Function up_wsp()

                For sn.puli= Each puli
        MoveEntity sn\entity ,0,0,1
        sn\time_live =sn\time_live +1
        If sn\time_live >100 Or EntityDistance(sn\entity,sn\cel)<3 Then
        wz.wzriww=New wzriww
        wz\ent=CopyEntity(wzriw)
        PositionEntity wz\ent,EntityX(sn\entity),EntityY(sn\entity),EntityZ(sn\entity)
        wz\frame=1
        FreeEntity sn\entity:Delete sn: Return
        EndIf
       
        ;DebugLog +a\time_live
                Next


               
End Function

Собственно вопрос, как получить доступ к полю списка, к которому принадлежит эта мешь.:SOS:
Вродебы объяснил нормально, по крайне мере смысл уловить можно...:@

impersonalis 31.10.2006 18:51

Re: Ссылка на объект списка по его мешу
 
сохрани Handle элемента типа танка в NameEntity его меша.
Когда расстояние до меша останется меньше критического - "извлеки" (при помощи object) сам тип по имени (EntityName теперь уже) меша - и делай с типом что хочешь.
А можешь в цикле перебрать все танки и сравнить их меши с мешем только что подбитого.

Хотя, имхо, реализация в целом сомнительна - посмотри как я это делал в туторе по FPS.

ISKATEL 02.11.2006 02:43

Re: Ссылка на объект списка по его мешу
 
Как говориться намного больше открывается при повторном прочтении. Спасибо!:super:


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

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