1upfire = class:new() 2 3function upfire:init(x, y) 4 --PHYSICS STUFF 5 self.cox = x 6 self.coy = y 7 self.y = 15 8 self.x = x-14/16 9 10 self.speedy = 0 11 self.speedx = 0 12 13 self.width = 12/16 14 self.height = 12/16 15 self.active = true 16 self.static = true 17 self.gravity = 0 18 19 self.delay = 0 20 self.category = 31 21 22 self.mask = { true, 23 true, false, true, true, true, 24 true, true, true, true, true, 25 true, true, true, true, true, 26 true, true, true, true, true, 27 true, true, true, true, true, 28 true, true, true, true, true} 29 30 --IMAGE STUFF 31 self.drawable = false 32 33 self.rotation = 0 --for portals 34 self.timer = 0 35end 36 37function upfire:update(dt) 38 --animate 39 if self.y > 15 and self.speedy > 0 then 40 self.timer = self.timer + dt 41 while self.timer > self.delay do 42 self.y = self.coy + upfirestarty 43 self.speedy = -upfireforce 44 self.y = 15 45 self.delay = math.random(0, 40)/10 46 self.timer = self.timer - self.delay 47 end 48 end 49 50 self.speedy = self.speedy + upfiregravity*dt 51 self.y = self.y + self.speedy*dt 52 53 return false 54end 55 56function upfire:draw() 57 local verscale = scale 58 if self.speedy > 0 then 59 verscale = -scale 60 end 61 love.graphics.draw(upfireimg, (self.x-xscroll-2/16)*16*scale, (self.y-.5+6/16)*16*scale, 0, scale, verscale, 0, 8) 62end 63 64function upfire:leftcollide(a, b) 65 return false 66end 67 68function upfire:rightcollide(a, b) 69 return false 70end 71 72function upfire:floorcollide(a, b) 73 return false 74end 75 76function upfire:ceilcollide(a, b) 77 return false 78end