Show:
Module: p5play

A camera facilitates scrolling and zooming for scenes extending beyond the canvas. A camera has a position, a zoom factor, and the mouse coordinates relative to the view. The camera is automatically created on the first draw cycle.

In p5.js terms the camera wraps the whole drawing cycle in a transformation matrix but it can be disable anytime during the draw cycle for example to draw interface elements in an absolute position.

Table of Contents

Constructor

Camera
(
  • x
  • y
  • zoom
)

Defined in lib/p5play.js:1775

Parameters:

  • x Number

    Initial x coordinate

  • y Number

    Initial y coordinate

  • zoom Number

    magnification

Methods

off ()

Defined in lib/p5play.js:1859

Deactivates the camera. The canvas will be drawn normally, ignoring the camera's position and scale until Camera.on() is called

on ()

Defined in lib/p5play.js:1845

Activates the camera. The canvas will be drawn according to the camera position and scale until Camera.off() is called

Properties

active

Boolean

Defined in lib/p5play.js:1834

True if the camera is active. Read only property. Use the methods Camera.on() and Camera.off() to enable or disable the camera.

mouseX

Number

Defined in lib/p5play.js:1812

MouseX translated to the camera view. Offsetting and scaling the canvas will not change the sprites' position nor the mouseX and mouseY variables. Use this property to read the mouse position if the camera moved or zoomed.

mouseY

Number

Defined in lib/p5play.js:1823

MouseY translated to the camera view. Offsetting and scaling the canvas will not change the sprites' position nor the mouseX and mouseY variables. Use this property to read the mouse position if the camera moved or zoomed.

position

p5.Vector

Defined in lib/p5play.js:1794

Camera position. Defines the global offset of the sketch.

zoom

Number

Defined in lib/p5play.js:1802

Camera zoom. Defines the global scale of the sketch. A scale of 1 will be the normal size. Setting it to 2 will make everything twice the size. .5 will make everything half size.