Показать сообщение отдельно
Старый 11.12.2006, 14:16   #1
stone_evil
ПроЭктировщик
 
Регистрация: 17.10.2006
Сообщений: 170
Написано 18 полезных сообщений
(для 42 пользователей)
Печаль Стратегия: юнит уходит под землю

Привет.
Может у кого такая проблема уже была.
Вот так создается Замок:
 Castle1=LoadMesh("castle1.3ds")
 EntityType Castle1, TypeCastle
 EntityPickMode Castle1,2
 ScaleMesh Castle1,1.2,1.2,1.2
 PositionEntity Castle1,cXPlane-10,0,0
Вот так юнит поворачивается и ходит:
   dx# = EntityX( unit\entity ) - EntityX( unit\point )
   dy# = EntityY( unit\entity ) - EntityY( unit\point )
   dz# = EntityZ( unit\entity ) - EntityZ( unit\point )
   d# = unit\speed * (CurrentSecs - unit\last_update) / 1000
   AlignToVector( unit\entity, dx, dy, dz, 0, 0.5 )
   MoveEntity unit\entity,0,0,-d
У юнита есть свой pivot, который я передвигаю в то место, куда ему необходимо пойти. Если пользователь хлопнул мышкой по полю, то я передаю параметры PickedX() и PickedZ(), pivot туда встает и юнит идет за пивотом:
   Point = unit\pivot
   PositionEntity Point,x,0,z
   unit\point = Point
Все это замечательно работает. Теперь я хочу, чтобы при клике на Замке (Дворце и т.д.) юнит шел к нему. Для этого я при клике перемещаю pivot, как обычно, куда надо, а в данном случае мне надо рядом с Замком. Параметры x=170 и z=0 задаю вручную, ибо знаю, где Замок находится. Юнит туда идет, конечно, только он почему-то сначала поворачивается не только вокруг оси Z, но и вокруг оси Y, т.е. уходит под землю, и идет вверх ногами.
Это не появляется, когда пользователь щелкает на поле - там юнит прекрасно идет куда надо. Это появляется только когда пользователь щелкает на Замке и я посылаю юнит в ту точку, куда ему надо идти к Замку. Разница только в том, что пользователь щелкает на меше Замка, а не на меше поля, и в том, что я вручную задаю координаты PositionEntity. Но почему-то возникает такой глюк.
Кто сталкивался с подобным, разъясните, что к чему???
(Offline)
 
Ответить с цитированием