-
Notifications
You must be signed in to change notification settings - Fork 4
/
Preloader.hx
52 lines (42 loc) · 1.53 KB
/
Preloader.hx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package;
import flixel.system.FlxBasePreloader;
import openfl.display.Sprite;
import openfl.display.Bitmap;
import openfl.display.BitmapData;
import openfl.display.BlendMode;
import openfl.display.Sprite;
import openfl.Lib;
import flixel.FlxG;
@:bitmap("art/preloaderArt.png") class LogoImage extends BitmapData {}
class Preloader extends FlxBasePreloader {
public function new(MinDisplayTime:Float = 3, ?AllowedURLs:Array<String>) {
super(MinDisplayTime, AllowedURLs);
}
var logo:Sprite;
override function create():Void {
this._width = Lib.current.stage.stageWidth;
this._height = Lib.current.stage.stageHeight;
var ratio:Float = this._width / 2560; // This allows us to scale assets depending on the size of the screen.
logo = new Sprite();
logo.addChild(new Bitmap(new LogoImage(0, 0))); // Sets the graphic of the sprite to a Bitmap object, which uses our embedded BitmapData class.
logo.scaleX = logo.scaleY = ratio;
logo.x = ((this._width) / 2) - ((logo.width) / 2);
logo.y = (this._height / 2) - ((logo.height) / 2);
addChild(logo); // Adds the graphic to the NMEPreloader's buffer.
super.create();
}
override function update(Percent:Float):Void {
if (Percent < 69) {
logo.scaleX += Percent / 1920;
logo.scaleY += Percent / 1920;
logo.x -= Percent * 0.6;
logo.y -= Percent / 2;
} else {
logo.scaleX = this._width / 1280;
logo.scaleY = this._width / 1280;
logo.x = ((this._width) / 2) - ((logo.width) / 2);
logo.y = (this._height / 2) - ((logo.height) / 2);
}
super.update(Percent);
}
}