Implement charge meter.
This commit is contained in:
parent
b222ce3d67
commit
e045eec163
4 changed files with 78 additions and 3 deletions
|
@ -4,6 +4,7 @@ import "CoreLibs/graphics"
|
|||
import "CoreLibs/sprites"
|
||||
import "CoreLibs/timer"
|
||||
import "bullet"
|
||||
import "ui"
|
||||
|
||||
local gfx <const> = playdate.graphics
|
||||
|
||||
|
@ -20,7 +21,7 @@ local MAX_CHARGE <const> = 100
|
|||
|
||||
class("Kani").extends(gfx.sprite)
|
||||
|
||||
function Kani:init()
|
||||
function Kani:init(ui)
|
||||
local img = gfx.image.new("images/kani.png")
|
||||
Kani.super.init(self, img)
|
||||
print(self)
|
||||
|
@ -33,6 +34,9 @@ function Kani:init()
|
|||
self.weaponPower = 0
|
||||
self.firingMode = false
|
||||
|
||||
-- the UI gets passed in to Kani so that we can update pieces of it easily.
|
||||
self.ui = ui
|
||||
|
||||
-- input handlers
|
||||
self.inputHandlers = {
|
||||
upButtonDown = function() self.vector.y = -1 end,
|
||||
|
@ -54,7 +58,7 @@ end
|
|||
function Kani:chargeReserve(change)
|
||||
if change < 0 then return end
|
||||
self.reserveCharge = math.min(self.reserveCharge + change / 15, 100)
|
||||
print("Reserve charge at " .. self.reserveCharge)
|
||||
self.ui.chargeMeter:setValue(self.reserveCharge)
|
||||
end
|
||||
|
||||
function Kani:chargeShot()
|
||||
|
@ -66,6 +70,7 @@ function Kani:chargeShot()
|
|||
self.reserveCharge -= requiredPower
|
||||
self.weaponPower += 1
|
||||
print("Shot charged to size " .. self.weaponPower)
|
||||
self.ui.chargeMeter:setValue(self.reserveCharge)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue