Advertisement
Guest User

Untitled

a guest
Dec 16th, 2018
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Haxe 1.32 KB | None | 0 0
  1. package;
  2.  
  3. import openfl.display.Bitmap;
  4. import openfl.display.BitmapData;
  5. import openfl.display.Sprite;
  6.  
  7. class Main extends Sprite {
  8.     var bitmap : Bitmap;
  9.  
  10.     public function new () {
  11.         super ();
  12.  
  13.         stage.color = 0xFFCCCCCC;
  14.  
  15.         var bitmapData = new BitmapData(320, 240, true, 0xFF000000);
  16.         bitmap = new Bitmap(bitmapData);
  17.         bitmap.smoothing = false;
  18.  
  19.         line(1, 1, 320, 240);
  20.  
  21.         addChild(bitmap);
  22.     }  
  23.  
  24.    
  25.     function line (fx : Int, fy : Int, x : Int, y : Int) {
  26.         var dx = Std.int(Math.abs(x - fx));
  27.         var dy = Std.int(Math.abs(y - fy));
  28.         var sx = fx < x ? 1 : -1;
  29.         var sy = fy < y ? 1 : -1;
  30.  
  31.         var error = Std.int((dx > dy ? dx : -dy) / 2);
  32.         var e2 = 0;
  33.  
  34.         var _x = Std.int(fx);
  35.         var _y = Std.int(fy);
  36.  
  37.         while(true) {
  38.             if(_x  < 0 || _y < 0 || _x >= bitmap.width || _y >= bitmap.height) {
  39.                 break;
  40.             }
  41.  
  42.             bitmap.bitmapData.setPixel(_x, _y, 0xFFFF0000);
  43.  
  44.             // We're done
  45.             if(_x == x && _y == y) {
  46.                 break;
  47.             }
  48.  
  49.             e2 = error;
  50.  
  51.             if(e2 > -dx) {
  52.                 error -= dy;
  53.                 _x += sx;
  54.             }
  55.  
  56.             if(e2 < dy) {
  57.                 error += dx;
  58.                 _y += sy;
  59.             }
  60.         }
  61.     }
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement