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=5071)

alligator 20.11.2007 11:21

движение в точку
 
есть несколько вопросов по поводу движения объекта.
1) как заставить объект двигаться в точку(есть pivot, вокруг него шарики. надо чтобы шарики двигались в сторону pivot.)
код проги:

SeedRnd MilliSecs()

Global t=0

Type cre
Field ball
End Type

Graphics3D 640,480,16,1
SetBuffer BackBuffer()

lit=CreateLight()

center=CreatePivot()

For i=0 To 99
b.cre=New cre
b\ball=CreateSphere(8,center)
ScaleEntity b\ball,.2,.2,.2
PositionEntity b\ball,Rnd(-20,20),Rnd(-20,20),Rnd(-20,20)
EntityColor b\ball,Rnd(0,255),Rnd(0,255),Rnd(0,255)
Next

cam=CreateCamera()
PositionEntity cam,0,0,-40

Repeat

t=Rnd(0,15)
If t=5 merz()

TurnEntity center,.0,.5,.5

UpdateWorld
RenderWorld

Flip

Until KeyHit(1)

End

Function merz()

For b.cre = Each cre
EntityBlend b\ball,Rnd(1,2)
Next

End Function



2 вопрос) как заставить объект перемещаться вниз по оси y, оси x и z должны оставаться текущими.

Данил 20.11.2007 11:44

Re: движение в точку
 
1.
Цитата:

PointEntity entity,target[,roll#]
Направляет один объект на другой.


Дополнительный параметр roll позволяет Вам определять, на какой угол объект может поворачиваться за один шаг.

Если Вы хотите направить объект на определенную точку в 3D-пространстве, а не на другой объект, просто создайте невидимую точку (pivot) в этом месте, направьте объект на эту точку, а затем удалите ее.
2.

Цитата:

MoveEntity entity,x#,y#,z#

Описание
Перемещает объект относительно его текущей позиции и ориентации.

TranslateEntity entity,x#,y#,z#

Описание
Перемещает объект от его текущей позиции и независимо от его ориентации.
EntityX EntityY EntityZ

Возвращают координаты объекта.

MoveEntity b\ball , 0 , 1 , 0

или

a=a+1
Translate Entity b\ball , EntityX(b\ball) , a , EntityZ(b\ball)

alligator 20.11.2007 14:31

Re: движение в точку
 
чёт неработает. ни moveentity не translateentity. :(

Данил 20.11.2007 14:36

Re: движение в точку
 
Покажи где написал...

IGR 20.11.2007 14:59

Re: движение в точку
 
пиши между:
For b.cre = Each cre
... пишеш сюда...
Next


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

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