Created
June 25, 2012 22:36
-
-
Save wighawag/2991890 to your computer and use it in GitHub Desktop.
A test of flambe renderring engine
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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