Skip to content

Instantly share code, notes, and snippets.

@wighawag
Created June 25, 2012 22:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wighawag/2991890 to your computer and use it in GitHub Desktop.
Save wighawag/2991890 to your computer and use it in GitHub Desktop.
A test of flambe renderring engine
package ;
import flambe.platform.flash.Stage3DRenderer;
import flash.Lib;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.display.Sprite;
import flash.display.Shape;
import flash.display.BitmapData;
import flambe.display.DrawingContext;
import flambe.platform.Renderer;
import flambe.platform.flash.BitmapRenderer;
import flambe.platform.flash.FlashTexture;
import flambe.display.Texture;
class FlambeTest extends Sprite {
public static function main() : Void{
var s = new FlambeTest();
Lib.current.addChild(s);
}
private var texture : Texture;
private var renderer : Renderer;
private var _x : Float;
private var _y : Float;
public function new() {
super();
_x = 0;
_y = 0;
addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
private function onAddedToStage(_) : Void {
texture = createTexture();
// var bitmapRenderer = new BitmapRenderer();
// renderer = bitmapRenderer;
var stage3dRenderer = new Stage3DRenderer();
stage3dRenderer.init();
stage3dRenderer.uploadTexture(texture);
renderer = stage3dRenderer;
addEventListener(Event.RENDER, onRender);
stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
}
private function onMouseMove(event : MouseEvent) : Void
{
_x = event.stageX;
_y = event.stageY;
stage.invalidate();
}
private function onRender(_) : Void
{
var drawingContect : DrawingContext = renderer.willRender();
drawingContect.save();
drawingContect.translate(_x,_y);
drawingContect.drawImage(texture,0,0);
drawingContect.restore();
renderer.didRender();
}
private function createTexture() : Texture
{
var size = 26;
var shape : Shape = new Shape();
shape.graphics.beginFill(0xFF0000);
shape.graphics.drawRect(0,0,size,size);
shape.graphics.endFill();
var bitmapData : BitmapData = new BitmapData(size,size);
bitmapData.draw(shape);
var texture = new FlashTexture(bitmapData);
return texture;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment