forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   EntityParent для элемента списка (Type) (http://forum.boolean.name/showthread.php?t=1979)

stone_evil 23.11.2006 11:33

EntityParent для элемента списка (Type)
 
Я человек в Blitz3D довольно новый, поэтому всех глюков/багов не знаю, просветите, кто может, в чем собака порылась.
Делаю стратегию, необходимо, чтобы текущий юнит выделялся желтым шариком (типа нимба). Далее описываю по шагам:
1. Создаю список для юнитов (упрощенно)
Код:


Type  ListOfUnits
 Field entity
End Type

2. Создаю шарик и создаю юнит
Код:


 CurrentPoint = CreateSphere(8)
 EntityColor CurrentPoint,255,255,0
 
 unitWorker=LoadMesh("Worker.3ds")
 ScaleMesh unitWorker,0.8,0.8,0.8
 HideEntity unitWorker

3. При создании юнита вешаю над головой шарик
Код:


  unit.ListOfUnits = New ListOfUnits
 
  unit\entity=CopyMesh(unitWorker)
  RotateMesh unit\entity,0,-90,0
  PositionMesh unit\entity,cXPlane-30,0,0
 
  NameEntity unit\entity,Handle(unit)
  EntityType unit\entity, TypeUnit
  EntityPickMode unit\entity,2
 
  CurrentEntity = unit\entity
  EntityParent CurrentPoint,CurrentEntity,False
  PositionEntity CurrentPoint,0,10,0

Проблема в том, что шарик CurrentPoint не привязывается к юниту, появляется в точке (0,10,0) только в глобальных координатах.
Что я делал, пытаясь исправить данную ситуацию:
1. Создавал в списке юнитов пивот, и пытался привязать к нему - не помогло
2. При создании юнита вместо CopyMesh пробовал LoadMesh - не помогло. Также пробовал LoadAnimMesh (хотя она у меня статичная пока), но там и модель в самом центре давай появляться.
3. Пробовал менять в EntityParent чаилда с родителем, варьировать флагом - не помогло.
4. Варьировал флагом в PositionEntity - не помогло.
Пока возникает ощущение, что флаг False вообще не воспринимается в EntityParent. Или это баг, или что я не так делаю?

c0mrad 23.11.2006 14:27

Re: EntityParent для элемента списка (Type)
 
Код:

PositionEntity CurrentPoint,EntityY(шарик),EntityX(шарик) + 10,EntityZ(шарик)
Попробуй так.

tormoz 23.11.2006 16:07

Re: EntityParent для элемента списка (Type)
 
Поменяй все копимеш на копи ентити ну и ротате соответственно

stone_evil 24.11.2006 10:14

Re: EntityParent для элемента списка (Type)
 
Да, tormoz оказался прав - поменял на ентити, все заработало. Из-за чего это, тоже очень интересно...

jimon 24.11.2006 19:07

Re: EntityParent для элемента списка (Type)
 
вчитался в твой код :) в асе обычно не вчитываюсь поетому не все замечаю

вот unit\entity=CopyMesh(unitWorker)
слева entity, а справа mesh
потому и не пашет

stone_evil 27.11.2006 05:55

Re: EntityParent для элемента списка (Type)
 
Цитата:

Сообщение от jimon
вчитался в твой код :) в асе обычно не вчитываюсь поетому не все замечаю

вот unit\entity=CopyMesh(unitWorker)
слева entity, а справа mesh
потому и не пашет

Дак entity - это же просто название поля, я с таким же успехом мог назвать это поле object или model или тот же mesh. Или в списках есть занятые слова для обозначения определенных полей и их свойств?

jimon 27.11.2006 08:51

Re: EntityParent для элемента списка (Type)
 
Код:


  unit.ListOfUnits = New ListOfUnits
 
  unit\entity=CopyMesh(unitWorker)
  RotateMesh unit\entity,0,-90,0
  PositionMesh unit\entity,cXPlane-30,0,0
 
 NameEntity unit\entity,Handle(unit)
  EntityType unit\entity, TypeUnit
  EntityPickMode unit\entity,2

у тебя проводятся операции над мешем которые должны проводится над entity

stone_evil 27.11.2006 10:05

Re: EntityParent для элемента списка (Type)
 
Т.е. если к мэшу применять операции работы с ентити, то он автоматически становится ентити, и как с мэшем с ним потом невозможно работать? Как все запутано... :(

jimon 27.11.2006 18:20

Re: EntityParent для элемента списка (Type)
 
stone_evil
запомни меш ето не ентети
и ентети ето не меш
и ентети содержит внутри себя меш

HolyDel 28.11.2006 00:02

Re: EntityParent для элемента списка (Type)
 
entity содеожит ссылку на mesh (наверное), по крайней мере если копировать ентити, то все копии будут привязаны к мешу и если его (меш) повернуть, растянуть и т.д. то все ето примениться ко всем копиям ентити.

stone_evil 04.12.2006 09:59

Re: EntityParent для элемента списка (Type)
 
Более менее ясно, буду с опытом на истину выходить.


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

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