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;