[ Embed( source = "/assets/complete_spritesheet.png" ) ]
public static const CompleteSpritesheet:Class;
public static var completeSpritesheet:BitmapData = new CompleteSpritesheet().bitmapData;
[Embed( source = "/assets/complete_spritesheet.xml", mimeType="application/octet-stream" )]
public static const CompleteSpritesheetXML:Class;
public static var completeSpritesheetXML:XML = XML( new CompleteSpritesheetXML() );
public var genome:Genome2D;
public var context:IContext = null;
private static var texture:GTexture;
public function GenomeMigration102()
{
var config:GContextConfig = new GContextConfig(new Rectangle(0,0,stage.stageWidth,stage.stageHeight), stage);
genome = Genome2D.getInstance();
genome.autoUpdateAndRender = false;
genome.onInitialized.addOnce(genome2DInitializationCompleted);
genome.init(config);
}
private function genome2DInitializationCompleted():void
{
trace( "Genome2D version" + Genome2D.VERSION + " initialization completed" );
mouseEnabled = false;
mouseChildren = false;
GTextureAtlasFactory.createFromEmbedded( "textures", CompleteSpritesheet, CompleteSpritesheetXML );
context = Genome2D.getInstance().getContext();
addChild( new InitializeGenome2D() );
}
[Inline]
private final function genome2DLoop( e:flash.events.Event ):void
{
var colorInHex:uint = 0xFF8000;
Genome2D.getInstance().getContext().begin( ( ( ( colorInHex & 0xFF0000 ) >> 16 ) / 255 ), ( ( ( colorInHex & 0xFF0000 ) >> 16 ) / 255 ), ( ( ( colorInHex & 0xFF0000 ) >> 16 ) / 255 ), 1 );
mainLoop();
Genome2D.getInstance().getContext().end();
}
[Inline]
private final function mainLoop():void
{
// do blitting stuff
}
private static function blitHelper( imageName:String, x:Number, y:Number ):void
{
texture = GTexture.getTextureById( "textures_" + imageName );
texture.setFilteringType(GTextureFilteringType.NEAREST);
texture.pivotX = 0 - ( texture.width / 2 );
texture.pivotY = 0 - ( texture.height / 2 );
R.context.draw( texture, x, y, R.currentScale, R.currentScale);
}
public function blitRectangle( x:Number, y:Number, width:Number, height:Number, colorInHex:uint = 0xFF8000, a:Number = 1 ):void
{
context.drawColorQuad( ( x + ( width / 2 ) ), ( y + ( height / 2 ) ), width, height, 0, ( ( ( colorInHex & 0xFF0000 ) >> 16 ) / 255 ), ( ( ( colorInHex & 0x00FF00 ) >> 8 ) / 255 ), ( ( colorInHex & 0x0000FF ) / 255 ) );
}