
org.flixel.system.FlxPreloader Maven / Gradle / Ivy
The newest version!
package org.flixel.system;
import org.flixel.FlxG;
import org.flixel.FlxSprite;
import org.flixel.FlxState;
import org.flixel.FlxText;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.g2d.TextureAtlas;
/**
* This class handles the 8-bit style preloader.
*/
public class FlxPreloader extends FlxState
{
protected TextureAtlas atlas;
/**
* @private
*/
// protected var _buffer:Sprite;
/**
* @private
*/
// protected var _bmpBar:Bitmap;
/**
* @private
*/
protected FlxText _text;
/**
* Useful for storing "real" stage width if you're scaling your preloader graphics.
*/
protected int _width;
/**
* Useful for storing "real" stage height if you're scaling your preloader graphics.
*/
protected int _height;
/**
* @private
*/
protected FlxSprite _logo;
/**
* @private
*/
// protected var _logoGlow:Bitmap;
/**
* @private
*/
protected int _min;
/**
* @private
*/
protected long _time;
/**
* This should always be the name of your main project/document class (e.g. GravityHook).
*/
public String className;
/**
* Set this to your game's URL to use built-in site-locking.
*/
public String myURL;
/**
* Change this if you want the flixel logo to show for more or less time. Default value is 0 seconds.
*/
public float minDisplayTime;
/**
* Constructor
*/
public FlxPreloader()
{
minDisplayTime = 0;
}
@Override
public void update()
{
/*
* FlxG._assetManager.update(); float percent =
* FlxG._assetManager.getProgress(); long time =
* System.currentTimeMillis() - _time; if((percent >= 1.0f) && (time >
* _min)) { FlxG.resetGame(); } else { if((_min > 0) && (percent >
* time/_min)) percent = time/_min; update(percent); }
*/
}
/**
* Override this to create your own preloader objects.
* Highly recommended you also override update()!
*/
@Override
public void create()
{
_min = 0;
if(!FlxG.debug)
_min = (int)(minDisplayTime*1000);
_time = System.currentTimeMillis();
FlxG.camera.setZoom(2);
_width = Gdx.graphics.getWidth() / 2;
_height = Gdx.graphics.getHeight() / 2;
FlxG.setBgColor(0x00345e);
atlas = new TextureAtlas(Gdx.files.classpath("org/flixel/data/preloader"));
// FlxSprite bitmap = new FlxSprite((_width - _height) / 2,
// 0,atlas.findRegion("logo_light"));
// bitmap.scale.x = bitmap.scale.y = _width / (float) bitmap.width;
// add(bitmap);
/*
* _bmpBar = new Bitmap(new BitmapData(1,7,false,0x5f6aff)); _bmpBar.x =
* 4; _bmpBar.y = _height-11; _buffer.addChild(_bmpBar);
*/
_text = new FlxText(2, /* _bmpBar.y */4 - 11, 80);
_text.setFormat(null, 8, 0x5f6aff);
add(_text);
// _logo = new FlxSprite(0, 0, atlas.findRegion("logo"));
_logo.scale.x = _logo.scale.y = _height / 8.0f;
_logo.x = (_width - _logo.width * _logo.scale.x) / 2.0f;
_logo.y = (_height - _logo.height * _logo.scale.y) / 2.0f;
add(_logo);
/*
* _logoGlow = new ImgLogo(); _logoGlow.smoothing = true;
* _logoGlow.blendMode = "screen"; _logoGlow.scaleX = _logoGlow.scaleY =
* _height/8; _logoGlow.x = (_width-_logoGlow.width)/2; _logoGlow.y =
* (_height-_logoGlow.height)/2; _buffer.addChild(_logoGlow); bitmap =
* new ImgLogoCorners(); bitmap.smoothing = true; bitmap.width = _width;
* bitmap.height = _height; _buffer.addChild(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);
*/
}
@Override
public void destroy()
{
/*
* if(_buffer != null) removeChild(_buffer); _buffer = null; _bmpBar =
* null; _text = null; _logo = null; _logoGlow = null;
*/
}
/**
* Override this function to manually update the preloader.
*
* @param Percent How much of the program has loaded.
*/
protected void update(float Percent)
{
/*
* _bmpBar.scaleX = Percent*(_width-8); _text.text =
* "FLX v"+FlxG.LIBRARY_MAJOR_VERSION
* +"."+FlxG.LIBRARY_MINOR_VERSION+" "+Math.floor(Percent*100)+"%";
* _text.setTextFormat(_text.defaultTextFormat); if(Percent < 0.1) {
* _logoGlow.alpha = 0; _logo.alpha = 0; } else if(Percent < 0.15) {
* _logoGlow.alpha = Math.random(); _logo.alpha = 0; } else if(Percent <
* 0.2) { _logoGlow.alpha = 0; _logo.alpha = 0; } else if(Percent <
* 0.25) { _logoGlow.alpha = 0; _logo.alpha = Math.random(); } else
* if(Percent < 0.7) { _logoGlow.alpha = (Percent-0.45)/0.45;
* _logo.alpha = 1; } else if((Percent > 0.8) && (Percent < 0.9)) {
* _logoGlow.alpha = 1-(Percent-0.8)/0.1; _logo.alpha = 0; } else
* if(Percent > 0.9) { _buffer.alpha = 1-(Percent-0.9)/0.1; }
*/
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy