Fixed some little errors with the drawing functions.
[luagame.git] / demos / shine_on / scripts / DarkLine.lua
blob90b0d5c6e22e11230fb52c352b7d0fb8aba5fb33
1 --default values
2 DarkLine = Object:new()
3 DarkLine.type = "DarkLine"
5 DarkLine.image, DarkLine.w, DarkLine.h = get_image("images/darkline.png")
6 DarkLine.fallspeed = 0 DarkLine.y_accel = -0.03
7 DarkLine.lerp = nil -- will hold the transparency lerp
9 function DarkLine:new(o)
10 o = o or {}
11 setmetatable(o, self)
12 self.__index = self
13 o.anim_func = create_animation_iterator(8, 200, 1)
14 o.lerp = create_relative_lerp(60, 255, 0)
15 return o
16 end
19 function DarkLine:update(delta)
20 Object.update(self, delta)
22 self.y_accel = self.y_accel - 0.002
24 self.fallspeed = self.fallspeed + self.y_accel
26 --gravity
27 self.y = self.y + self.fallspeed
29 --bounds checking (ensure it's inside the game screen)
30 if self.x > s_width or self.y > s_height or self.x + self.w < 0 or self.y + self.h < 0 or self.alpha == 0 then
31 self.collect = true
32 end
34 self.alpha = self.lerp(1)
36 end
39 function DarkLine:collide(ids, object)
40 self.collect = true
41 end
44 function DarkLine:draw()
45 local frame, playing = self.anim_func()
46 if playing == false then frame = 7 end
47 display_frame(self.image, self.x-self.x_offset, self.y-self.y_offset, 8, frame,0,1,1, self.alpha)
48 end