Class GameCamera
The camera a GameView renders through. It has two modes:
-
#MODE_ORTHO_2D(the default) is the classic 2D mode: an orthographic camera mapping one world unit to one screen pixel, origin at the top left with y pointing down. Sprites are flat, positioned in pixels, and the camera scrolls viaScene#setCamera(int, int). You never need to touchGameCamerafor a 2D game. -
#MODE_PERSPECTIVEturns the same scene into a 3D world: sprites become camera-facing billboards positioned in 3D space (Sprite#setPosition(double, double, double)), and 3D meshes can be drawn alongside them. You drive the view with#setPerspective(float, float, float),#setPosition(float, float, float)and#setTarget(float, float, float)-- e.g. an over-the-shoulder or top-down perspective camera that moves with the player.
// switch a GameView into 3D and place the camera
getCamera()
.setPerspective(60, 0.1f, 500f)
.setPosition(0, 6, 12)
.setTarget(0, 0, 0);
In 3D mode world coordinates are right-handed with y up (the convention the
com.codename1.gpu package uses), and sprite sizes are world units rather than
pixels -- use Sprite#setSize(float, float) or Sprite#setScale(float) to pick a
world-space size.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intOrthographic, pixel-space 2D rendering (the default).static final intPerspective 3D rendering with billboarded sprites. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfloatgetEyeX()floatgetEyeY()floatgetEyeZ()floatgetFov()intgetMode()floatfloatfloatSwitches back to the default orthographic 2D mode.setPerspective(float fovYDegrees, float near, float far) Switches to perspective 3D rendering and sets the lens.setPosition(float x, float y, float z) The eye position in world space (perspective mode).setTarget(float x, float y, float z) The point the camera looks at, in world space (perspective mode).setUp(float x, float y, float z) The camera up vector (defaults to 0,1,0).
-
Field Details
-
MODE_ORTHO_2D
public static final int MODE_ORTHO_2DOrthographic, pixel-space 2D rendering (the default).- See Also:
-
MODE_PERSPECTIVE
public static final int MODE_PERSPECTIVEPerspective 3D rendering with billboarded sprites.- See Also:
-
-
Constructor Details
-
GameCamera
public GameCamera()
-
-
Method Details
-
getMode
public int getMode() -
setPerspective
Switches to perspective 3D rendering and sets the lens.
Parameters
-
fovYDegrees: vertical field of view in degrees (e.g. 60) -
near: near clip distance (> 0) -
far: far clip distance
-
-
setOrthographic2D
Switches back to the default orthographic 2D mode. -
setPosition
The eye position in world space (perspective mode). -
setTarget
The point the camera looks at, in world space (perspective mode). -
setUp
The camera up vector (defaults to 0,1,0). -
getEyeX
public float getEyeX() -
getEyeY
public float getEyeY() -
getEyeZ
public float getEyeZ() -
getTargetX
public float getTargetX() -
getTargetY
public float getTargetY() -
getTargetZ
public float getTargetZ() -
getFov
public float getFov()
-