AnyKey`щик
Регистрация: 11.12.2007
Сообщений: 18
Написано одно полезное сообщение (для 0 участников)
|
Ответ: Xors3D
Привет! подскажите что не так ?
вот код на B3d

Global cub
Global camera
Global point
Global state$
Const STANDING=0
Const MOVING=1
Const moveSpeed#=.6
Const turnSpeed#=.1
Graphics3D 640,480,0,2
camera=CreateCamera()
PositionEntity camera,0,150,0
RotateEntity camera,90,0,0
plane=CreateCube()
ScaleEntity plane,1000,.1,1000
EntityPickMode plane,2
EntityColor plane,160,150,150
EntityAlpha plane,0.5
point=CreateCube()
EntityColor point,255,0,0
cub=CreateCube()
ScaleEntity cub,5,5,5
state$=STANDING
While Not KeyDown( 1 )
UpdateMovement()
PointEntity camera,cub
UpdateWorld()
RenderWorld()
Text 0,40,"PickedX: "+PickedX#()
Text 0,60,"PickedY: "+PickedY#()
Text 0,80,"PickedZ: "+PickedZ#()
Flip
Wend
End
Function UpdateMovement()
If MouseHit(1)
If state$=STANDING
state$=MOVING
EndIf
CameraPick(camera,MouseX(),MouseY())
PositionEntity point,PickedX(),0,PickedZ()+3
EndIf
If state$=MOVING
xt#=PickedX#()
zt#=PickedZ#()
xl#=EntityX#(cub)
zl#=EntityZ#(cub)
cx#=xt-xl
cz#=zt-zl
cn#=Sqr(cx*cx+cz*cz)
cx=cx/cn
cz=cz/cn
AlignToVector cub,cx,0,cz,0,turnSpeed#
MoveEntity cub,0,0,moveSpeed#
If Distance2D(EntityX(cub),EntityZ(cub),PickedX(),PickedZ())<10
state$=STANDING
EndIf
EndIf
End Function
Function Distance2D#(x1#,y1#,x2#,y2#)
Local nx#=x1-x2
Local ny#=y1-y2
Return Sqr((nx*nx)+(ny*ny))
End Function
вот на Xors3D

Include "Xors3d.bb"
Global cub
Global camera
Global point
Global state$
Const STANDING=0
Const MOVING=1
Const moveSpeed#=.6
Const turnSpeed#=.1
xGraphics3D 640,480,0,0,1
camera=xCreateCamera()
xPositionEntity camera,0,150,0
xRotateEntity camera,90,0,0
plane=xCreateCube()
xScaleEntity plane,1000,.1,1000
xEntityPickMode plane,2
xEntityColor plane,160,150,150
xEntityAlpha plane,0.5
point=xCreateCube()
xEntityColor point,255,0,0
cub=xCreateCube()
xScaleEntity cub,5,5,5
state$=STANDING
While Not xKeyDown( 1 )
UpdateMovement()
xPointEntity camera,cub
xUpdateWorld()
xRenderWorld()
xText 0,40,"PickedX: "+xPickedX#()
xText 0,60,"PickedY: "+xPickedY#()
xText 0,80,"PickedZ: "+xPickedZ#()
xFlip
Wend
End
Function UpdateMovement()
If xMouseHit(1)
If state$=STANDING
state$=MOVING
EndIf
xCameraPick(camera,xMouseX(),xMouseY())
xPositionEntity point,xPickedX(),0,xPickedZ()+3
EndIf
If state$=MOVING
xt#=xPickedX#()
zt#=xPickedZ#()
xl#=xEntityX#(cub)
zl#=xEntityZ#(cub)
cx#=xt-xl
cz#=zt-zl
cn#=Sqr(cx*cx+cz*cz)
cx=cx/cn
cz=cz/cn
xAlignToVector cub,cx,0,cz,0,turnSpeed#
xMoveEntity cub,0,0,moveSpeed#
If Distance2D(xEntityX(cub),xEntityZ(cub),xPickedX(),xPickedZ())<10
state$=STANDING
EndIf
EndIf
End Function
Function Distance2D#(x1#,y1#,x2#,y2#)
Local nx#=x1-x2
Local ny#=y1-y2
Return Sqr((nx*nx)+(ny*ny))
End Function
в каждом cub передвигается по разному
в чем может быть проблема?
|