Давненько я не делал всякие эффекты. Тогда я еще маловато знал об as3 и усердно зачитывал Мука. Итак, с утра что-то стукнуло в голову, дай-ка, думаю, пока выходной, понаделаю шаблончиков - авось когда пригодятся. Сделалось вот такое:

Код AS3:
package {
import flash.display.Shape;
import flash.display.Sprite;
import flash.events.Event;
import kordum.utils.MathExtend;
/** @author KorDum **/
public class CursorStarEffect extends Sprite {
private var arrStar:Vector.<Shape> = new Vector.<Shape>();
private var speedRotation:uint = 10;
private var alphaDown:Number = .1;
public function CursorStarEffect() {
addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void {
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
var i:uint;
for (i = 0; i < 15; i++) createStar();
this.addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
private function onEnterFrame(e:Event):void {
for each (var star:Shape in arrStar) {
star.rotation += speedRotation + MathExtend.randomRange( -5, 5);
star.alpha -= alphaDown;
if (star.alpha <= 0) {
arrStar.splice(arrStar.indexOf(star), 1);
removeChild(star);
createStar();
}
}
}
private function createStar():void {
var star:Shape = new Shape();
star.graphics.beginFill(0x000000);
star.graphics.drawRect(MathExtend.randomRange(-10, 10), MathExtend.randomRange(-10, 10), 10, 10);
star.x = stage.mouseX + MathExtend.randomRange(-10, 10);
star.y = stage.mouseY + MathExtend.randomRange(-10, 10);
arrStar.push(star);
addChild(star);
}
}
}
Кому лень тестировать, скажу, что это своего рода крутящиеся звездочки, образующие хвост за курсором. Вообще, можно в конструктор пихать любой графический объект, будь то звезда, квадрат или еще чего, но вариант черновой и меня больше всего интересует, правильная ли реализация, что можно поменять, изменить?