Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package {
- import flash.display.*;
- import flash.events.*;
- import flash.geom.*;
- import flash.utils.*;
- public class Game extends Sprite {
- var backbufferBitmapData;
- var frontbufferBitmapData;
- var past;
- function tick() {
- var now = getTimer();
- var elapsedSeconds = (now - past)*0.001;
- past = now;
- }
- var pixels:Vector.<uint>;
- function render() {
- var i:uint = pixels.length; // declaring type here is a huge speedup
- while (i--) pixels[i] = 0xff000000 + Math.random() * 255;
- backbufferBitmapData.setVector(backbufferBitmapData.rect, pixels);
- }
- function flip() {
- frontbufferBitmapData.copyPixels(
- backbufferBitmapData,
- new Rectangle(0, 0, backbufferBitmapData.width, backbufferBitmapData.height),
- new Point(0, 0)
- );
- }
- function refresh(evt) {
- var start = getTimer();
- render();
- var renderTime = getTimer();
- tick();
- trace(renderTime - start, 'ms / render()', getTimer() - renderTime, 'ms / tick()');
- flip();
- }
- public function Game() {
- past = getTimer();
- backbufferBitmapData = new BitmapData(stage.stageWidth, stage.stageHeight);
- frontbufferBitmapData = backbufferBitmapData.clone();
- addChild(new Bitmap(frontbufferBitmapData));
- pixels = new Vector.<uint>(stage.stageWidth * stage.stageHeight, true);
- addEventListener(Event.ENTER_FRAME, refresh);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment