MP_Graphics3D() ist keine Funktion,Array...usw
Als wenn die Engine aus dem Gedächtnis von Purebasic verschwunden ist.
Code: Alles auswählen
MP_Graphics3D (640,480,0,3) ; Erstelle ein WindowsFenster #Window = 0
SetWindowTitle(0, "3 animierte Meshs")
Camera=MP_CreateCamera() ; Kamera erstellen
MP_PositionCamera(camera, 10, 7, -30)
MP_RotateCamera (camera, 0, -18, 0)
MP_CreateLight(1) ; Es werde Licht
Cylinder = MP_CreateCone (8,12)
MP_RotateEntity (Cylinder,270 ,0 ,0)
MP_EntitySetColor (Cylinder, $FF0000)
cube1 = MP_CreateCube()
MP_EntitySetName(cube1, "Cube1")
cube2 = MP_CreateCube()
MP_EntitySetName(cube2, "Cube2")
cube3 = MP_CreateCube()
MP_EntitySetName(cube3, "Cube3")
cube4 = MP_CreateCube()
MP_EntitySetName(cube4, "Cube4")
While Not MP_KeyDown(#PB_Key_Escape) And Not MP_WindowEvent() = #PB_Event_CloseWindow; Esc abfrage oder Windows Schliessen
count.f + 0.01
MP_PositionEntity(cube1, 10, 0, Cos(count) * 10)
MP_PositionEntity(cube2, 15, 0, Sin(count) * 10)
MP_PositionEntity(cube3, 20, 0, Cos(count+0.785) * 10)
MP_PositionEntity(cube4, 25, 0, Sin(count+0.785) * 10)
picked = MP_PickLine (1, 0, 0, 90, 0) ; Rechts neben dem Objekt beginnen und dann 90 Grad nach Rechts zeigen
If picked
txt$ = MP_EntityGetName(picked)
txt2$ = txt$ + " X = "+Str(MP_EntityGetX(picked))+ " Y = "+Str(MP_EntityGetY(picked))+" Z = "+Str(MP_EntityGetZ(picked))+ " Picked Entfernung = "+StrF(MP_PickedGetDistance (),2)
Else
txt$=""
EndIf
MP_DrawText (1,1,$ffffff00, txt$,0) ; mesh gefunden
MP_DrawText (1,20,$ffffff00, txt2$,0) ; Infos über letzten Mesh
MP_RenderWorld() ; Erstelle die Welt
MP_Flip () ; Stelle Sie dar
Wend