From c5b8b324dbdffcb1ece0e175875a810629a3d19d Mon Sep 17 00:00:00 2001 From: yuki Date: Tue, 11 Nov 2025 01:54:07 -0300 Subject: [PATCH] player object boilerplate --- main.lua | 1 + obj/game/Player.lua | 20 ++++++++++++++++++++ rooms/Stage.lua | 4 ++++ 3 files changed, 25 insertions(+) create mode 100644 obj/game/Player.lua diff --git a/main.lua b/main.lua index 0abd2bf..e688862 100644 --- a/main.lua +++ b/main.lua @@ -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() diff --git a/obj/game/Player.lua b/obj/game/Player.lua new file mode 100644 index 0000000..b39de92 --- /dev/null +++ b/obj/game/Player.lua @@ -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 diff --git a/rooms/Stage.lua b/rooms/Stage.lua index 471113f..8d33e37 100644 --- a/rooms/Stage.lua +++ b/rooms/Stage.lua @@ -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)