CreateCamera ( [parent] )
Parameters
| parent (optional) - parent entity of camera |
Description
|
Creates a camera entity and returns its handle. Without at least one camera you won't be able to see anything in your 3D world - RenderWorld draws the scene from each camera's point of view. With more than one camera you can achieve effects such as split-screen modes and rear-view mirrors (see CameraViewport). A camera is a normal entity, so all the entity commands work on it: position it with PositionEntity, fly it around with MoveEntity and TurnEntity, or parent it to a vehicle so it rides along. A new camera starts at 0,0,0 facing positive z, with a viewport covering the whole screen, a range of 1 to 1000 and a 90 degree field of view (zoom 1). RenderWorld draws cameras to the backbuffer. In Extended mode a camera can also be shown on a GUI canvas with RenderWorldToCanvas or SetCanvasCamera. The optional parent parameter allows you to specify a parent entity for the camera, so that when the parent moves the camera moves with it. The relationship is one way: applying movement commands to the camera will not affect the parent. Specifying a parent will still result in the camera being created at position 0,0,0 rather than at the parent entity's position. See also: CameraZoom, CameraRange, CameraViewport, CameraClsColor, RenderWorld. |
Example
; CreateCamera Example ; -------------------- Graphics3D 640,480,0,2 SetBuffer BackBuffer() ; Create the camera - the scene is rendered from its point of view camera=CreateCamera() PositionEntity camera,0,1,-5 light=CreateLight() RotateEntity light,45,45,0 ; A spinning cone to look at cone=CreateCone(16) PositionEntity cone,0,1,0 EntityColor cone,255,100,0 While Not KeyDown(1) TurnEntity cone,0,1,0 ; A camera is a normal entity, so entity commands move and turn it If KeyDown(200) Then MoveEntity camera,0,0,0.1 If KeyDown(208) Then MoveEntity camera,0,0,-0.1 If KeyDown(203) Then TurnEntity camera,0,1,0 If KeyDown(205) Then TurnEntity camera,0,-1,0 RenderWorld Text 0,0,"Arrow keys: move camera Esc: exit" Text 0,20,"The view is rendered through the camera returned by CreateCamera()" Flip Wend End
Index