Guest User

Untitled

a guest
Dec 14th, 2012
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  1. package {
  2. import flash.display.*;
  3. import flash.events.*;
  4. import flash.geom.*;
  5. import flash.utils.*;
  6.  
  7. public class Game extends Sprite {
  8. var backbufferBitmapData;
  9. var frontbufferBitmapData;
  10.  
  11. var past;
  12. function tick() {
  13. var now = getTimer();
  14. var elapsedSeconds = (now - past)*0.001;
  15. past = now;
  16. }
  17.  
  18. var pixels:Vector.<uint>;
  19. function render() {
  20. var i:uint = pixels.length; // declaring type here is a huge speedup
  21. while (i--) pixels[i] = 0xff000000 + Math.random() * 255;
  22. backbufferBitmapData.setVector(backbufferBitmapData.rect, pixels);
  23. }
  24.  
  25. function flip() {
  26. frontbufferBitmapData.copyPixels(
  27. backbufferBitmapData,
  28. new Rectangle(0, 0, backbufferBitmapData.width, backbufferBitmapData.height),
  29. new Point(0, 0)
  30. );
  31. }
  32.  
  33. function refresh(evt) {
  34. var start = getTimer();
  35. render();
  36. var renderTime = getTimer();
  37. tick();
  38. trace(renderTime - start, 'ms / render()', getTimer() - renderTime, 'ms / tick()');
  39. flip();
  40. }
  41.  
  42. public function Game() {
  43. past = getTimer();
  44. backbufferBitmapData = new BitmapData(stage.stageWidth, stage.stageHeight);
  45. frontbufferBitmapData = backbufferBitmapData.clone();
  46. addChild(new Bitmap(frontbufferBitmapData));
  47. pixels = new Vector.<uint>(stage.stageWidth * stage.stageHeight, true);
  48. addEventListener(Event.ENTER_FRAME, refresh);
  49. }
  50. }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment