Home Reference Source
import {Viewport} from 'penvas/src/viewport.js'
public class | source

Viewport

Extends:

EventEmitterModel → Viewport

Create a new Viewport

Example:

const app = new Application({ width: 200, height: 200 });
const player = new Sprite(...);
const world = new Container(...);
const viewport = new Viewport(0, 0, app.canvas, 1, 1, app.width / 2, app.height / 2);

viewport.follow(player, world);
viewport.drawImage(world);

Constructor Summary

Public Constructor
public

constructor(x: number, y: number, canvas: CanvasRenderingContext2D, scaleX: number, scaleY: number, deadZoneX: number, deadZoneY: number)

Member Summary

Public Members
public
public

ctx: *

public
public
public
public
public

x: *

public

y: *

Method Summary

Public Methods
public

drawImage(source: Drawer, x: number, y: number, width: number, height: number)

Drawn image from source into canvas with viewport

public

follow(target: Object, world: Object)

Viewport follow target into world

Inherited Summary

From class EventEmitter
protected

List of registers

public

dispatch(event: String, args: mixed)

Dispatch event

public

on(event: String, callback: function, context: mixed)

Listen event

From class Model
public static
public get

hitbox: Object: {"x": *, "y": *, "width": *, "height": *, "radius": *}

public set

hitbox(hitbox: Object): *

public get

x: number: *

public set

x: *

public get

y: number: *

public set

y: *

public
public
public

parent: {}

public
public

render(ctx: RenderingContext, drawer: Drawer)

public
public

step(dt: number)

Public Constructors

public constructor(x: number, y: number, canvas: CanvasRenderingContext2D, scaleX: number, scaleY: number, deadZoneX: number, deadZoneY: number) source

Override:

Model#constructor

Params:

NameTypeAttributeDescription
x number

x position of viewport into world

y number

y position of viewport into world

canvas CanvasRenderingContext2D

canvas where to draw image

scaleX number
  • optional
  • default: 1
scaleY number
  • optional
  • default: 1
deadZoneX number
  • optional
  • default: 0

x position of dead zone (where viewport move when following target)

deadZoneY number
  • optional
  • default: 0

y position of dead zone (where viewport move when following target)

Public Members

public ctx: * source

public deadZoneX: number source

public deadZoneY: number source

public scaleX: number source

public scaleY: number source

public x: * source

Override:

Model#x

public y: * source

Override:

Model#y

Public Methods

public drawImage(source: Drawer, x: number, y: number, width: number, height: number) source

Drawn image from source into canvas with viewport

Params:

NameTypeAttributeDescription
source Drawer
x number
  • optional
  • default: 0
y number
  • optional
  • default: 0
width number
  • optional
  • default: null
height number
  • optional
  • default: null

public follow(target: Object, world: Object) source

Viewport follow target into world

Params:

NameTypeAttributeDescription
target Object
world Object