Skip to content

Instantly share code, notes, and snippets.

@theandrew168
Created February 20, 2023 02:12
Show Gist options
  • Save theandrew168/f88e649806ab78cb6d2d7b8e757b9ce7 to your computer and use it in GitHub Desktop.
Save theandrew168/f88e649806ab78cb6d2d7b8e757b9ce7 to your computer and use it in GitHub Desktop.
How to do basic OOP stuff in Lua
local Spritesheet = {}
Spritesheet.__index = Spritesheet
function Spritesheet.new(sheetPath, spriteWidth, spriteHeight)
assert(spriteWidth, 'Missing sprite width!')
assert(spriteHeight, 'Missing sprite height!')
local spritesheet = {}
setmetatable(spritesheet, Spritesheet)
spritesheet.sheet = love.graphics.newImage(sheetPath)
spritesheet.spriteWidth = spriteWidth
spritesheet.spriteHeight = spriteHeight
return spritesheet
end
function Spritesheet:getImage()
return self.sheet
end
function Spritesheet:getSprite(x, y)
if not y then
return self:getSpriteQuadAtIndex(x)
else
return self:getSpriteQuadAtCoord(x, y)
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment