Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- _context.yScale = _context.xScale;
- var xscale:Float = (1.0 / _context.xScale);
- var yscale:Float = (1.0 / _context.yScale);
- var xoffset:Int = Std.int((wClip)/2);
- var yoffset:Int = Std.int((hClip)/2);
- var xcos:Float = Math.cos(-_context.rotation) * xscale;
- var xsin:Float = Math.sin(-_context.rotation) * xscale;
- var ycos:Float = Math.cos(-_context.rotation) * yscale;
- var ysin:Float = Math.sin(-_context.rotation) * yscale;
- var biggest:Int = (wClip>hClip)?wClip:hClip;
- var left:Int = Std.int((-Std.int(((biggest+1)/2)*_context.xScale))*1.5)+xoffset;
- var right:Int = Std.int((Std.int(((biggest-1)/2)*_context.xScale)+1)*1.5)+xoffset;
- var up:Int = Std.int((-Std.int(((biggest+1)/2)*_context.yScale))*1.5)+xoffset;
- var down:Int = Std.int((Std.int(((biggest-1)/2)*_context.yScale)+1)*1.5)+xoffset;
- var xS:Float = (left-xoffset)*xcos-(up-yoffset)*ysin+xoffset;
- var yS:Float = (left-xoffset)*xsin+(up-yoffset)*ycos+yoffset;
- var i:Int = left;
- var j:Int = up;
- while(j<down) {
- var xSR:Float = xS;
- var ySR:Float = yS;
- if(xcos<0&&xSR>wClip) {var amount:Int = Math.floor((wClip-xSR)/xcos);i+=amount;xSR+=xcos*amount;ySR+=xsin*amount;}
- if(xsin<0&&ySR>hClip) {var amount:Int = Math.ceil((hClip-ySR)/xsin);i+=amount;xSR+=xcos*amount;ySR+=xsin*amount;}
- if(xcos>0&&xSR<-1) {var amount:Int = Math.ceil((-1-xSR)/xcos);i+=amount;xSR+=xcos*amount;ySR+=xsin*amount;}
- if(xsin>0&&ySR<-1) {var amount:Int = Math.round((-1-ySR)/xsin);i+=amount;xSR+=xcos*amount;ySR+=xsin*amount;}
- while(i<right) {
- var xSRr:Int = Math.round(xSR);
- var ySRr:Int = Math.round(ySR);
- if(xcos>0&&xSRr>wClip-1||xsin>0&&ySRr>hClip-1||xcos<0&&xSRr<0||xsin<0&&ySRr<0) {xSR+=xcos*(right-i);ySR+=xsin*(right-i);break;}
- _context.target.bitmapdata.setPixel(_x+i,_y+j,0xFF0000);
- if(xSRr>-1&&xSRr<wClip&&ySRr>-1&&ySRr<hClip) {
- _context.target.bitmapdata.setPixel(_x+i,_y+j,0xFFFF00);
- var color:Int=getPixel(xSRr+xClip,ySRr+yClip);
- if(!transparency||color!=0xFF00FF) {
- _context.target.bitmapdata.setPixel(_x+i,_y+j,color);
- _context.target.drawPixel(color,_x+i,_y+j);
- }
- }
- xSR+=xcos;
- ySR+=xsin;
- i++;
- }
- xS-=ysin;
- yS+=ycos;
- i=left;
- j++;
- }
Add Comment
Please, Sign In to add comment