32 lines
1.1 KiB
Lua
32 lines
1.1 KiB
Lua
---@class HatBullet : Bullet
|
|
local HatBullet, super = Class(Bullet)
|
|
|
|
---@param x number # The X position of the bullet
|
|
---@param y number # The Y position of the bullet
|
|
---@param dir number # The dir (in radians) of the bullet
|
|
---@param speed number # The speed the bullet will move at in the specified direction
|
|
function HatBullet:init(x, y, dir, speed)
|
|
-- Last argument = sprite path
|
|
super.init(self, x, y, "bullets/hatbullet")
|
|
|
|
-- Move the bullet in dir radians (0 = right, pi = left, clockwise rotation)
|
|
self.physics.direction = dir
|
|
-- Speed the bullet moves (pixels per frame at 30FPS)
|
|
self.physics.speed = speed
|
|
self.collider = Hitbox(self, self.width*0.225, self.height*0.25, self.width*0.55, self.height*0.6)
|
|
self.destroy_on_hit = false
|
|
end
|
|
|
|
function HatBullet:update()
|
|
-- For more complicated bullet behaviours, code here gets called every update
|
|
|
|
super.update(self)
|
|
end
|
|
|
|
function HatBullet:getDebugInfo()
|
|
local info = super.getDebugInfo(self)
|
|
table.insert(info, "Collider: " .. self.collider.x, self.collider.y)
|
|
end
|
|
|
|
return HatBullet
|