Und möchte mich bei euch allen im Forum bedanken für die exzellente Unterstützung , die es möglich machte seit V3.50 ohne Post's
durch zu kommen!
Und jetzt zu unserm Problem:
Sobald Entity's zu einer Node zusammen geklemmt werden bewegen sich ihre Entitybody's (Physikbody's) nicht mit,
obwohl sie im WorldDebug(#PB_World_DebugBody) Mode eigentlich richtig angezeigt werden.
Für mein Projekt würde es mir unheimlich weiterhelfen wenn das Funktioniert.
Listing ist selbsterklärend (hoffentlich).
Ach so das ganze wurde mit PB5.42 auf Win7 32/64bit getestet.
Code: Alles auswählen
;If we move a Node, the EntityPhysicBody`s do not move :-(
EnableExplicit
InitEngine3D(#PB_Engine3D_DebugLog)
InitKeyboard()
InitSprite()
RandomSeed(0)
Define.i Ende , Count , Ela_Phy_Ti
Define.s Title=Space(40)+"Move the Node with Cursor Keys" , Title_2=""
OpenWindow(0,0,0,460,300,Title,#PB_Window_ScreenCentered | #PB_Window_SystemMenu)
AddWindowTimer(0,1,700)
OpenWindowedScreen(WindowID(0),0,0,460,300,#False,0,0,#PB_Screen_WaitSynchronization)
WorldDebug(#PB_World_DebugBody)
CreateCamera(0,0,0,100,100)
MoveCamera(0,0,4,8)
CameraLookAt(0,0,0,0)
CreateLight(0,$ffffff,-10,50,10)
CreateTexture(0,2,2)
StartDrawing(TextureOutput(0))
Box(0,0,2,2,$FFFFFF)
StopDrawing()
CreateMaterial(0,TextureID(0))
SetMaterialColor(0, #PB_Material_AmbientColor, $FF0000)
SetMaterialColor(0, #PB_Material_DiffuseColor, $FF0000)
CopyMaterial(0, 1)
SetMaterialColor(1, #PB_Material_AmbientColor, $0000FF)
SetMaterialColor(1, #PB_Material_DiffuseColor, $0000FF)
CreateCube(0,1)
CreateEntity(0,MeshID(0),MaterialID(0) ,-2,0,0)
CreateEntity(1,MeshID(0),MaterialID(0) ,2,0,0)
CreateEntityBody(0, #PB_Entity_BoxBody,0,0.01,1)
CreateEntityBody(1, #PB_Entity_BoxBody,0,0.01,1)
CreateNode(0,0,0,0)
AttachNodeObject(0,EntityID(0))
AttachNodeObject(0,EntityID(1))
For Count=2 To 52
CreateEntity(Count,MeshID(0),MaterialID(1),0,0,0)
ScaleEntity(Count,0.5,0.5,0.5)
CreateEntityBody(Count, #PB_Entity_BoxBody,0.1,0.5,1)
MoveEntity(Count,Random(4)-2,Random(30,3),Random(4)-2,#PB_Absolute)
Next
Repeat
ExamineKeyboard()
Repeat
Select WindowEvent()
Case 0 : Break
Case #PB_Event_CloseWindow : Ende=1
Case #PB_Event_Timer : Swap Title,Title_2 : SetWindowTitle(0,Title)
EndSelect
ForEver
For Count=2 To 52
If EntityY(Count)<-8
MoveEntity(Count,Random(4)-2,Random(32)+4,Random(4)-2,#PB_Absolute)
EndIf
Next
If KeyboardPushed(#PB_Key_Right)
RotateNode(0,0,0.06*Ela_Phy_Ti,0,#PB_Relative)
ElseIf KeyboardPushed(#PB_Key_Left)
RotateNode(0,0,-0.06*Ela_Phy_Ti,0,#PB_Relative)
EndIf
If KeyboardPushed(#PB_Key_Up)
MoveNode(0,0,0,0.002*Ela_Phy_Ti,#PB_Relative)
ElseIf KeyboardPushed(#PB_Key_Down)
MoveNode(0,0,0,-0.002*Ela_Phy_Ti,#PB_Relative)
EndIf
Ela_Phy_Ti=RenderWorld(Ela_Phy_Ti)
FlipBuffers()
Delay(1)
Until Ende=1 Or KeyboardReleased(#PB_Key_Escape)