player object boilerplate

This commit is contained in:
yuki 2025-11-11 01:54:07 -03:00
parent bdba4cc62f
commit c5b8b324db
3 changed files with 25 additions and 0 deletions

View file

@ -21,6 +21,7 @@ Area = require 'obj/Area'
GameObject = require 'obj/GameObject'
-- game objects --
Player = require 'obj/game/Player'
Circle = require 'obj/game/Circle'
function love.load()

20
obj/game/Player.lua Normal file
View file

@ -0,0 +1,20 @@
---@class Player:GameObject
---@field area Area
---@field x number
---@field y number
---@field opts table|nil
local Player = GameObject:extend()
function Player:new(area, x, y, opts)
Player.super.new(self, area, x, y, opts)
end
function Player:update(dt)
Player.super.update(self, dt)
end
function Player:draw()
Player.super.draw(self)
end
return Player

View file

@ -5,10 +5,14 @@ local Stage = Room:extend()
function Stage:new()
Stage.super.new(self)
self.timer = Timer()
-- game objects
self.timer:every(2, function()
local latest_object = self.area:addGameObject('Circle', love.math.random(1, gw), love.math.random(1, gh))
latest_object.timer:after(love.math.random(2, 4), function() latest_object:kill() end)
end)
self.area:addGameObject('Player', gw/2, gh/2)
end
function Stage:update(dt)