crystal.Camera

Base class for cameras to inherit from. Camera controllers expect cameras to derive from this class.

This class is of little use on its own. You should implement subclasses fitting your game and override the position method accordingly.

Constructor

crystal.Camera:new()

Methods

Name Description
position Returns the location that should be centered in the game window. Default implementation returns 0, 0.

Examples

This example defines a class for cameras that never move:

local FixedCamera = Class("FixedCamera", crystal.Camera);

FixedCamera.init = function(self, x, y)
  self.x = x;
  self.y = y;
end

FixedCamera.position = function(self)
  return self.x, self.y;
end

return FixedCamera;

This example defines a class for a camera following a player character

local PlayerCamera = Class("PlayerCamera", crystal.Camera);

PlayerCamera.init = function(self, player)
  self.player = player;
end

PlayerCamera.position = function(self)
  return self.player:position();
end

return PlayerCamera;

This site uses Just the Docs, a documentation theme for Jekyll.