Image Fade In/Out
Monkey Forums/Monkey Programming/Image Fade In/Out
| ||
| I would like to fade an image in and out, from 0 alpha to 1 and vice verse. Has anyone written anything they would share? Is there a better way than WritePixels? Thank you |
| ||
Just use SetAlpha before DrawImage:Strict
Import "image.png"
Import mojo
Class Program Extends App
Field img:Image
Field alpha:Float = 0.0
Field switch:Bool = False
Method OnCreate:Int()
SetUpdateRate(60)
img = LoadImage("image.png")
Return 0
End
Method OnRender:Int()
Cls 0,0,0
SetBlend AlphaBlend
SetAlpha alpha
DrawImage(img,50,50)
Return 0
End
Method OnUpdate:Int()
If switch = False
alpha += 0.01
If alpha > 1.0
alpha = 1.0
switch = True
Endif
Else
alpha -= 0.01
If alpha < 0.0
alpha = 0.0
switch = False
Endif
Endif
Return 0
End
End
Function Main:Int()
New Program
Return 0
End |
| ||
| Thank you! :) |
| ||
Another wayStrict
Import mojo
Class Game Extends App
Field alpha:Float
Field image:Image
Field dir:Float
Method OnCreate:Int()
SetUpdateRate(60)
Self.image=LoadImage("test.png")
Self.alpha=0.0
Self.dir=0.01
Return 0
End Method
Method OnUpdate:Int()
Self.alpha += Self.dir
If Self.alpha > 1.0 Or Self.alpha < 0.0 Then Self.dir = -Self.dir
Return 0
End Method
Method OnRender:Int()
Cls
SetAlpha(Self.alpha)
DrawImage(Self.image,0,0)
Return 0
End Method
End Class
Function Main:Int()
New Game
Return 0
End Function |
| ||
| Cleaner, thank you! :) |
| ||
| And here's a variation that will do pausing between fades. Note: Doesn't allow for different update rates. |