PageRenderTime 50ms CodeModel.GetById 25ms RepoModel.GetById 0ms app.codeStats 0ms

/Task/Pinstripe-Display/ActionScript/pinstripe-display.as

https://github.com/acmeism/RosettaCodeData
ActionScript | 52 lines | 35 code | 17 blank | 0 comment | 9 complexity | 03bf660f6e3c81ebc76ed86dd1a51d3d MD5 | raw file
  1. package {
  2. import flash.display.Bitmap;
  3. import flash.display.BitmapData;
  4. import flash.display.Sprite;
  5. import flash.events.Event;
  6. public class Pinstripe extends Sprite {
  7. public function Pinstripe():void {
  8. if (stage) init();
  9. else addEventListener(Event.ADDED_TO_STAGE, init);
  10. }
  11. private function init(e:Event = null):void {
  12. var data:BitmapData = new BitmapData(stage.stageWidth, stage.stageHeight, false, 0xFFFFFFFF);
  13. data.lock();
  14. var w:uint = data.width, h:uint = data.height / 4;
  15. var x:uint, y:uint = 0, i:uint, px:uint, colour:uint, maxy:uint = h;
  16. for ( i = 1; i <= 4; i++ ) {
  17. for ( ; y < maxy; y++ ) {
  18. colour = 0xFF000000;
  19. px = 1;
  20. for ( x = 0; x < w; x++ ) {
  21. if ( px == i ) {
  22. colour = (colour == 0xFF000000) ? 0xFFFFFFFF : 0xFF000000;
  23. px = 1;
  24. }
  25. else px++;
  26. data.setPixel32(x, y, colour);
  27. }
  28. }
  29. maxy += h;
  30. }
  31. data.unlock();
  32. addChild(new Bitmap(data));
  33. }
  34. }
  35. }