-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFPreloader.as
139 lines (108 loc) · 2.83 KB
/
FPreloader.as
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
package Framework
{
import flash.events.*;
import flash.utils.getTimer;
import flash.utils.getDefinitionByName;
import flash.net.navigateToURL;
import flash.net.URLRequest;
import flash.display.Sprite;
import flash.display.MovieClip;
import flash.display.Graphics;
import flash.display.DisplayObject;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.StageScaleMode;
import Framework.FG;
public class FPreloader extends MovieClip
{
// Minimum time to display preloader
public var _min:Number;
// If the preloader has been initialized
public var _init:Boolean;
public var _buffer:Sprite;
public var _bar:Sprite;
public var _width:int;
public var _height:int;
public var className:String;
[Embed(source="./Media/Images/peeg.png")]
//[Embed(source="./Media/Images/sponsors.png")]
public var i_peeg:Class;
public var peeg:Bitmap;
public function FPreloader()
{
stop();
stage.scaleMode = StageScaleMode.NO_SCALE;
_min = 1;
_init = false;
addEventListener(Event.ENTER_FRAME, Update);
}
public function Create():void
{
_init = true;
_width = stage.stageWidth;
_height = stage.stageHeight;
_buffer = new Sprite();
_buffer.graphics.beginFill(0xCCCCCC);
_buffer.graphics.drawRect(0, 0, _width, _height);
_buffer.graphics.endFill();
addChild(_buffer);
_bar = new Sprite();
_buffer.addChild(_bar);
peeg = new i_peeg();
peeg.x = _width/2 - peeg.width/2;
peeg.y = _height/2 - peeg.height/2;
_buffer.addChild(peeg);
var bitmap:Bitmap = new Bitmap(new BitmapData(_width,_height,false,0xffffff));
var i:uint = 0;
var j:uint = 0;
while(i < _height)
{
j = 0;
while(j < _width)
bitmap.bitmapData.setPixel(j++,i,0);
i+=2;
}
bitmap.blendMode = "overlay";
bitmap.alpha = 0.25;
_buffer.addChild(bitmap);
}
public function Destroy():void
{
removeChild(_buffer);
}
public function Update(e:Event):void
{
if(!_init)
Create();
var time:Number = getTimer()/1000;
var percent:Number = root.loaderInfo.bytesLoaded/root.loaderInfo.bytesTotal;
// If loading is faster than we want to display the loader for, artifically delay it
if((_min > 0) && (percent > time/_min))
percent = time/_min;
if(percent >= 1)
{
drawLoadBar(percent);
removeEventListener(Event.ENTER_FRAME, Update);
nextFrame();
var mainClass:Class = Class(getDefinitionByName(className));
if(mainClass)
{
var app:Object = new mainClass();
addChild(app as DisplayObject);
}
Destroy();
}
else
{
drawLoadBar(percent);
}
}
protected function drawLoadBar(p:Number):void
{
_bar.graphics.clear();
_bar.graphics.beginFill(0x33CC33);
_bar.graphics.drawRect(0, _height - 20, _width * p, 20);
_bar.graphics.endFill();
}
}
}