3 Sun
.image
, Sun
.w
, Sun
.h
= get_image("images/sun_base.png")
4 Sun
.image_o
, Sun
.w_o
, Sun
.h_o
= get_image("images/sun_overlay.png")
5 Sun
.image_b
= get_image("images/sunbeam.png")
23 o
.in_lerp
= create_relative_lerp(20,0,255)
24 o
.out_lerp
= create_relative_lerp(20,255,0)
29 if self
.beam_on
== true then
30 display(self
.image_b
,self
.x
-32,self
.y
+64,0,1,1, self
.b_alpha
)
34 display(self
.image_o
, self
.x
-self
.x_offset
, self
.y
-self
.y_offset
, 0, 1, 1, 255)
37 function Sun
:update(delta
)
39 self
.beam_time
= self
.beam_time
- 1
40 if self
.beam_time
> 20 then
41 self
.b_alpha
= self
.in_lerp(1)
43 self
.b_alpha
= self
.out_lerp(1)
47 if self
.beam_on
and self
.beam_time
<= 0 then self
.beam_on
= false beam_psys_o
.on
= false beam_psys_w
.on
= false end
48 self
.speed
= (math
.cos(math
.rad(self
.sp
))*self
.speed_mov
)
50 Object
.update(self
,delta
)
52 Sun_psys
.y
= self
.y
+ 16
53 self
.rotation
= math
.cos(math
.rad(self
.rd
))*20
54 self
.rd
= self
.rd
+ 1.5
55 self
.sp
= self
.sp
+ 2.0
56 if self
.rd
> 360 then self
.rd
= self
.rd
- 360 end
57 if self
.sp
> 360 then self
.sp
= self
.sp
- 360 end
60 function Sun
:collide(ids
, object
)