Показать сообщение отдельно
Старый 13.06.2011, 18:36   #1389
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений
(для 3,298 пользователей)
Ответ: Вопрос-Ответ (для новичков)

Кнопка "Поиск"!
Сообщение от HolyDel Посмотреть сообщение
Graphics3D 800,600
SetBuffer BackBuffer()

obj1=CreateSphere()

obj2=CreateCone()
RotateMesh obj2,90,0,0

p=CreatePlane()
EntityAlpha p,0.5
EntityColor p,255,0,0

cam=CreateCamera()
PositionEntity cam,0,10,-20
RotateEntity cam,45,0,0

l=CreateLight()

PositionEntity obj2,0,0,0
PositionEntity obj1,4,4,4

EntityBox p,-10000,-2,-10000,20000,2,20000
EntityPickMode p,3

While Not KeyDown(1)

If MouseDown(1)
CameraPick(cam,MouseX(),MouseY())
cx#=PickedX()
cz#=PickedZ()
PositionEntity obj1,cx,4,cz
EndIf

curvepointentity(obj2,obj1,5,5)
MoveEntity obj2,0,0,0.3
RenderWorld
Flip

Wend

Function CurvePointEntity(ent1,ent2,speedx#=1,speedy#=1)
dx#=DeltaPitch(ent1,ent2)
dy#=DeltaYaw(ent1,ent2)
If Abs(dx#)>speedx# Then TurnEntity ent1,speedx#*Sgn(dx),0,0 Else TurnEntity ent1,dx,0,0
If Abs(dy#)>speedy# Then TurnEntity ent1,0,speedy#*Sgn(dy),0 Else TurnEntity ent1,0,dy,0
End Function

Собственно ent1 - который надо повернуть, ent2 - на который надо повернуть,speedx - скорость поворота по оси х (за один вызов функции),speedy - скорость поворота по оси Y (за один вызов функции).
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
KingMaks (13.06.2011)