实现这效果其实比较简单,主要是思路~!
package { import flash.display.Sprite; import flash.events.MouseEvent; import flash.events.Event; import flash.filters.GlowFilter; /** * ... * @author Xing */ public class Main extends Sprite { private var _cacheX:int; private var _cacheY:int; private var _isDown:Boolean; private var _scene:Sprite; public function Main() { _scene = new Sprite(); this.addChild(_scene); _scene.filters = [new GlowFilter(0x00CCFF, 1, 10, 10, 2, 1, false, false)]; stage.addEventListener(MouseEvent.MOUSE_DOWN, downHandler); stage.addEventListener(MouseEvent.MOUSE_UP, upHandler); this.addEventListener(Event.ENTER_FRAME, enterFrame); } private function downHandler(e:MouseEvent):void { _cacheX = mouseX; _cacheY = mouseY; _isDown = true; } private function upHandler(e:MouseEvent):void { _isDown = false; } private function enterFrame(e:Event):void { for each (var l:Line in Line.sets) { l.update(); } update(); } private function update():void { if (!_isDown) return; var line:Line = new Line(_cacheX, _cacheY, mouseX, mouseY); _scene.addChild(line); _cacheX = mouseX; _cacheY = mouseY; } } } import flash.display.Sprite; class Line extends Sprite { static public var sets:Array = []; public var sX:int; public var sY:int; public var eX:int; public var eY:int; public var linesize:Number; public function Line($sX:int, $sY:int, $eX:int, $eY:int, $linesize:Number = 8) { sets.push(this); sX = $sX; sY = $sY; eX = $eX; eY = $eY; linesize = $linesize; draw(); } private function draw():void { graphics.clear(); graphics.lineStyle(linesize, 0xFFFFFF); graphics.moveTo(sX, sY); graphics.lineTo(eX, eY); } public function update():void { draw(); linesize -= 1; if (linesize < 1) { clear(); } } private function clear() { graphics.clear(); for (var i:String in sets) { var l:Line = sets[i] as Line; if (l == this) { sets.splice(i, 1); parent.removeChild(this); } } } }
1 楼
liuhello
2012-03-27
选择您需要装饰的文字, 按上列按钮即可添加上相应的标签}
import flash.display.Sprite;
class Line extends Sprite
{
static public var sets:Array = [];
public var sX:int;
public var sY:int;
public var eX:int;
public var eY:int;
public var linesize:Number;
public function Line($sX:int, $sY:int, $eX:int, $eY:int, $linesize:Number =
{
sets.push(this);
sX = $sX;
sY = $sY;
eX = $eX;
eY = $eY;
linesize = $linesize;
draw();
}
private function draw():void
{
graphics.clear();
graphics.lineStyle(linesize, 0xFFFFFF);
graphics.moveTo(sX, sY);
graphics.lineTo(eX, eY);
}
public function update():void
{
draw();
linesize -= 1;
if (linesize < 1)
{
clear();
}
}
private function clear()
{
graphics.clear();
for (var i:String in sets)
{
var l:Line = sets[i] as Line;
if (l == this)
{
sets.splice(i, 1);
parent.removeChild(this);
}
}
}
}
import flash.display.Sprite;
class Line extends Sprite
{
static public var sets:Array = [];
public var sX:int;
public var sY:int;
public var eX:int;
public var eY:int;
public var linesize:Number;
public function Line($sX:int, $sY:int, $eX:int, $eY:int, $linesize:Number =

{
sets.push(this);
sX = $sX;
sY = $sY;
eX = $eX;
eY = $eY;
linesize = $linesize;
draw();
}
private function draw():void
{
graphics.clear();
graphics.lineStyle(linesize, 0xFFFFFF);
graphics.moveTo(sX, sY);
graphics.lineTo(eX, eY);
}
public function update():void
{
draw();
linesize -= 1;
if (linesize < 1)
{
clear();
}
}
private function clear()
{
graphics.clear();
for (var i:String in sets)
{
var l:Line = sets[i] as Line;
if (l == this)
{
sets.splice(i, 1);
parent.removeChild(this);
}
}
}
}