get bound 2d
...
@author lizhi
♥0 |
Line 44 |
Modified 2016-03-01 13:13:31 |
MIT License
archived:2017-03-20 15:33:10
ActionScript3 source code
/**
* Copyright lizhi ( http://wonderfl.net/user/lizhi )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/AFQy
*/
package
{
import flash.display.Bitmap;
import flash.display.Sprite;
import flash.events.Event;
import flash.geom.Matrix;
import flash.geom.Point;
/**
* ...
* @author lizhi
*/
public class Main extends Sprite
{
private var s:Sprite;
private var w:Number = 100;
private var h:Number = 50;
public function Main()
{
s = new Sprite;
s.graphics.beginFill(0xff0000);
s.graphics.drawRect(0, 0, 100, 50);
addChild(s);
s.x = 300;
s.y = 200;
addEventListener(Event.ENTER_FRAME, enterFrame);
}
private function enterFrame(e:Event):void
{
s.rotation++;
var m:Matrix = s.transform.matrix;
graphics.clear();
graphics.lineStyle(0);
var a:Number = m.a * w;
var b:Number = m.c * h;
var c:Number = m.d * h;
var d:Number = m.b * w;
var minX:Number = Math.min(0, a, b, a + b);
var maxX:Number = Math.max(0, a, b, a + b);
var minY:Number = Math.min(0, c, d, c + d);
var maxY:Number = Math.max(0, c, d, c + d);
graphics.moveTo(minX + m.tx, minY + m.ty);
graphics.lineTo(maxX + m.tx, minY + m.ty);
graphics.lineTo(maxX + m.tx, maxY + m.ty);
graphics.lineTo(minX + m.tx, maxY + m.ty);
graphics.lineTo(minX + m.tx, minY + m.ty);
}
}
}