1、CubicBezier类
package {
import fl.motion.BezierSegment;
import flash.geom.Point;
import flash.display.Graphics;
public class CubicBezier extends BezierSegment {
public function CubicBezier(anchor1:Point, control1:Point, control2:Point, anchor2:Point)
{
if (anchor1 == null || control1 == null || control2 == null || anchor2 == null){
trace("null object in CubicBezier constructor!");
}
super(anchor1, control1, control2, anchor2);
}
public function drawInto(g:Graphics):void
{//I use distance here because I want the curve to always be smooth but you may want to optimize this calculation.
var iterations:uint = Point.distance(a,d);
var newPoint:Point;
for (var i:uint; i < iterations; i++)
{
newPoint = this.getValue(i/iterations);
g.lineTo(newPoint.x, newPoint.y);
}
}
}
}
调用:
var path:CubicBezier;
path = new CubicBezier(anchorPoint1, controlPoint1, controlPoint2, anchorPoint2);
?.graphics.moveTo(anchorPoint1.x,anchorPoint1.y);
path.drawInto(line.graphics);
2、控制柄思路
两个mc,另建两个点数组分别存放左右控制点到所在点的偏移量。利用循环找出是哪点激活,得出index利用偏移就可绘出控制柄。移动时判断是点还是控制点被拖动。是点的话就让控制点跟着动,是控制点就计算偏移(mousedown)。
3、载入图片
var file:FileReference=new FileReference();
var loader:Loader=new Loader();
private function onClick(e:MouseEvent):void
{
file.browse([new FileFilter("Images(*.jpg;*.jpeg;*.png;*.gif)","*.jpg;*.jpeg;*.png;*.gif")]);
file.addEventListener(Event.SELECT,onSelect);
}
private function onSelect(e:Event):void
{
file.load();
file.addEventListener(Event.COMPLETE,onComplete);
file.removeEventListener(Event.SELECT,onSelect);
}
private function onComplete(e:Event):void
{
file.removeEventListener(Event.COMPLETE,onComplete);
loader.loadBytes(file.data);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onLoadComplete);
}
private function onLoadComplete(e:Event):void
{
var tempData:BitmapData=new BitmapData(loader.width,loader.height,
false,0xFFFFFFFF);
tempData.draw(loader);
var bitmap:Bitmap=new Bitmap(tempData);
tp.addChild(bitmap);
loader.contentLoaderInfo.removeEventListener(Event.COMPLETE,
onLoadComplete);
}
载入的图片放在Mc中,通过滑块控制大小(scalex)。
4复制需要的图片
绘制的图片作蒙板。