GetWorld ( )
Parameters
| None. |
Description
|
Returns the handle of the currently selected world. The result is always a real, non-zero handle: at program start, or after SetWorld 0, it is the protected default world's actual handle - so it is safe to compare against handles you have stored, and safe to pass back to SetWorld later. Its main job is the save-and-restore pattern: remember the current world, hop over to another one to build or tweak something, then put the selection back. Helper functions that switch worlds should always do this so they do not surprise their caller. Requires Extended mode. See also: SetWorld, CreateWorld, EntityWorld, AudioWorld. |
Example
; GetWorld Example ; ---------------- ; Requires Extended mode. Graphics3D 640,480,0,2 SetBuffer BackBuffer() ; GetWorld reports the protected default world at startup game_world=GetWorld() game_camera=CreateCamera() PositionEntity game_camera,0,1,-5 game_light=CreateLight() RotateEntity game_light,45,45,0 cube=CreateCube() PositionEntity cube,0,1,0 EntityColor cube,255,80,80 ; A separate world holds the preview scene: a blue spinning sphere preview_world=CreateWorld() SetWorld preview_world preview_camera=CreateCamera() PositionEntity preview_camera,0,1,-5 preview_light=CreateLight() RotateEntity preview_light,45,45,0 sphere=CreateSphere() PositionEntity sphere,0,1,0 EntityColor sphere,80,140,255 ; Select the game world to start with SetWorld game_world active_camera=game_camera While Not KeyDown(1) ; Space selects the other world and GetWorld tracks the change If KeyHit(57) If GetWorld()=game_world SetWorld preview_world active_camera=preview_camera Else SetWorld game_world active_camera=game_camera EndIf EndIf ; Both scenes keep animating, even the one not selected TurnEntity cube,0,1,0 TurnEntity sphere,0,1,0 ; Arrow keys move the selected world's camera If KeyDown(200) Then MoveEntity active_camera,0,0,0.1 If KeyDown(208) Then MoveEntity active_camera,0,0,-0.1 If KeyDown(203) Then TurnEntity active_camera,0,1,0 If KeyDown(205) Then TurnEntity active_camera,0,-1,0 RenderWorld Text 0,0,"Space: select the other world Arrow keys: move camera Esc: exit" Text 0,20,"GetWorld() = "+GetWorld() Text 0,40,"(default game world = "+game_world+", preview world = "+preview_world+")" Flip Wend FreeWorld preview_world End
Index