1flower = class:new() 2 3function flower:init(x, y) 4 --PHYSICS STUFF 5 self.starty = y 6 self.x = x-6/16 7 self.y = y-11/16 8 self.speedy = 0 9 self.speedx = 0 10 self.width = 12/16 11 self.height = 12/16 12 self.static = true 13 self.active = true 14 self.category = 6 15 self.mask = {true} 16 self.destroy = false 17 self.autodelete = true 18 self.gravity = 0 19 20 --IMAGE STUFF 21 self.drawable = false 22 self.graphic = flowerimg 23 self.quad = flowerquad[1] 24 self.offsetX = 7 25 self.offsetY = 3 26 self.quadcenterX = 9 27 self.quadcenterY = 8 28 29 self.rotation = 0 --for portals 30 self.uptimer = 0 31 self.timer = 0 32 self.quadi = 1 33 34 self.falling = false 35end 36 37function flower:update(dt) 38 if self.uptimer < mushroomtime then 39 self.uptimer = self.uptimer + dt 40 self.y = self.y - dt*(1/mushroomtime) 41 end 42 43 if self.uptimer > mushroomtime then 44 self.y = self.starty-27/16 45 self.active = true 46 self.drawable = true 47 end 48 49 --animate 50 self.timer = self.timer + dt 51 while self.timer > staranimationdelay do 52 self.quadi = self.quadi + 1 53 if self.quadi == 5 then 54 self.quadi = 1 55 end 56 self.quad = flowerquad[self.quadi] 57 self.timer = self.timer - staranimationdelay 58 end 59 60 if self.destroy then 61 return true 62 else 63 return false 64 end 65end 66 67function flower:draw() 68 if self.uptimer < mushroomtime and not self.destroy then 69 --Draw it coming out of the block. 70 love.graphics.drawq(self.graphic, self.quad, math.floor(((self.x-xscroll)*16+self.offsetX)*scale), math.floor((self.y*16-self.offsetY)*scale), 0, scale, scale, self.quadcenterX, self.quadcenterY) 71 end 72end 73 74function flower:leftcollide(a, b) 75 if a == "player" then 76 b:grow() 77 self.active = false 78 self.destroy = true 79 self.drawable = false 80 end 81 82 return false 83end 84 85function flower:rightcollide(a, b) 86 if a == "player" then 87 b:grow() 88 self.active = false 89 self.destroy = true 90 self.drawable = false 91 end 92 93 return false 94end 95 96function flower:floorcollide(a, b) 97 if self.active and a == "player" then 98 b:grow() 99 self.active = false 100 self.destroy = true 101 self.drawable = false 102 end 103end 104 105function flower:ceilcollide(a, b) 106 if self.active and a == "player" then 107 b:grow() 108 self.active = false 109 self.destroy = true 110 self.drawable = false 111 end 112end 113 114function flower:jump(x) 115 116end