You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
949 B
42 lines
949 B
Blaster = Object:extend()
|
|
|
|
function Blaster:new(x, y, owner)
|
|
self.x = x
|
|
self.y = y
|
|
self.radius = 10
|
|
self.speed = 700
|
|
self.color = { 1, 0, 0 }
|
|
self.destroy = false
|
|
self.owner = owner
|
|
end
|
|
|
|
function Blaster:draw()
|
|
--draw stuff
|
|
--love.graphics.circle("fill", self.x, self.y, self.radius)
|
|
end
|
|
|
|
function Blaster:update(dt)
|
|
if self.owner == "player" then
|
|
self.y = self.y - self.speed * dt
|
|
elseif self.owner == "enemy" then
|
|
self.y = self.y + self.speed * dt
|
|
end
|
|
end
|
|
|
|
function Blaster:checkCollision(obj)
|
|
local self_left = self.x
|
|
local self_right = self.x + self.radius * 2
|
|
local self_top = self.y
|
|
local self_bottom = self.y + self.radius * 2
|
|
|
|
local obj_left = obj.x
|
|
local obj_right = obj.x + obj.width
|
|
local obj_top = obj.y
|
|
local obj_bottom = obj.y + obj.height
|
|
|
|
if self_right > obj_left and self_left < obj_right and self_bottom > obj_top and self_top < obj_bottom then
|
|
self.destroy = true
|
|
|
|
--other blaster logic here
|
|
end
|
|
end
|
|
|