Тема: Childs and Parents
Показать сообщение отдельно
Старый 11.07.2011, 02:19   #23
NitE
злобный флудер
 
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений
(для 1,476 пользователей)
Ответ: Childs and Parents

Graphics3D 800,600,32,2
SetBuffer BackBuffer()

Global cam=CreateCamera()
Global piv=CreatePivot()
Global plane=CreatePlane()
PositionEntity(piv,0,0,10,1)
EntityParent(piv,cam)
PositionEntity(cam,0,10,0,1)

light=CreateLight()

pxCreateWorld(1,"")

MoveMouse(GraphicsWidth()/2,GraphicsHeight()/2)
mousespeed#=0.5
camerasmoothness#=4.5
Global cbody=0

Repeat

If MouseHit(1)
camvx#=EntityX(piv,1)-EntityX(cam,1)
camvy#=EntityY(piv,1)-EntityY(cam,1)
camvz#=EntityZ(piv,1)-EntityZ(cam,1)
ray=pxCreateRay()
pxRaySetDir(ray,camvx,camvy,camvz)
pxRaySetPosition(ray, EntityX(cam,1),EntityY(cam,1),EntityZ(cam,1))
cbody=pxRayGetBody(ray,0)
EndIf


If MouseDown(1) And cbody<>0
cvx#=EntityX(piv,1)-pxBodyGetPositionX(cbody)
cvy#=EntityY(piv,1)-pxBodyGetPositionY(cbody)
cvz#=EntityZ(piv,1)-pxBodyGetPositionZ(cbody)
Local cmod%=2
pxBodySetLinearSpeed(cbody,cvx*cmod,cvy*cmod,cvz*c mod)
EndIf

If KeyHit(57)
Create_Px_Cube()
EndIf

mxs# = MouseXSpeed() * mousespeed
mys# = MouseYSpeed() * mousespeed
camxa# = camxa - mxs Mod 360
camya# = camya + mys
If camya < -89 Then camya = -89
If camya > 89 Then camya = 89
MoveMouse GraphicsWidth() / 2, GraphicsHeight() / 2
RotateEntity cam, camya, camxa, 0.0

Update_Px_Cube()
pxRenderPhysic(30,0)
UpdateWorld()
RenderWorld()
Text(10,10,cbody)
Flip
Until KeyHit(1)
End

Type Px_Cube
Field cube_body%
Field cube_mesh%
End Type

Function Create_Px_Cube()
ocu.Px_Cube = New Px_Cube
ocu\cube_body=pxBodyCreateCube(1,1,1, 3)
ocu\cube_mesh=CreateCube()
ScaleEntity ocu\cube_mesh,1,1,1
EntityColor ocu\cube_mesh,Rand(0,255),Rand(0,255),Rand(0,255)
pxBodySetPosition(ocu\cube_body,EntityX(cam)+Rand(-5,5),EntityY(cam)+Rand(-5,5),EntityZ(cam))
pxBodySetRotation(ocu\cube_body,Rand(-90,90),Rand(-90,90),Rand(-90,90))
End Function

Function Update_Px_Cube()
For ocu.Px_Cube = Each Px_Cube
pxBodySetEntity(ocu\cube_mesh, ocu\cube_body)
Next
End Function
Теперь можешь публично признать свою "бездарность и глупость, тупизм , упорность и пр."
Кстати, упорность и упоротость это очень разные вещи. Не думаю что кто-то тут обвинит тебя в упорности.
Вложения
Тип файла: rar px.rar (790.6 Кб, 445 просмотров)
(Offline)
 
Ответить с цитированием