Frocessing勉強中(noLoopとかloopとか) ... @author naoto koshikawa naoto5959 forked:0favorite:3lines:127license : MIT License modified : 2009-09-13 01:43:30 Embed Tweet package { import flash.display.Loader; import flash.events.Event; import flash.net.URLRequest; import flash.system.LoaderContext; import frocessing.bmp.FImageLoader; import frocessing.display.F5MovieClip2D; import org.libspark.betweenas3.BetweenAS3; import org.libspark.betweenas3.easing.*; import org.libspark.betweenas3.tweens.IObjectTween; [SWF(width=465,height=465,backgroundColor=0x000000)] /** * ... * @author naoto koshikawa */ public class FrocessingWork4 extends F5MovieClip2D { private static const COLORS:Number = 24; private static const RADIUS:Number = 15; private static const EACH_WIDTH:Number = 6; private static const EACH_HEIGHT:Number = 2; private var _xs:Array = []; private var _ys:Array = []; private var _clickX:Number = 0; private var _clickY:Number = 0; private var _t:int = 0; private var _loader:Loader; private var _loaded:Boolean; private var _tween:IObjectTween; private var _easings:Array = [ Back, Bounce, Circ, Circular, Cubic, Elastic, Expo, Exponential, Linear, Quad ]; public function FrocessingWork4() { addChild(_loader = new Loader()); _loader.contentLoaderInfo.addEventListener(Event.INIT, function (event:Event):void { _loaded = true; Object(_loader.content).color = 0xFFFFFF; }); _loader.load(new URLRequest("http://asmple.com/work/avatar3.swf"), new LoaderContext(true)); } public function setup():void { colorMode(HSV, COLORS, 1, 1, 1.0); rectMode(CENTER); } public function draw():void { if (!_loaded) { loading(); } else { animation(); } if (++_t == COLORS) _t = 0; } private function loading():void { translate(stage.stageWidth / 2, stage.stageWidth / 2); rotate(Math.PI * 2 * _t / COLORS); for (var i:int = 0; i < COLORS; i++) { rotate(Math.PI * 2 / COLORS); fill(i, 1, 1, (i + 1) / COLORS); rect(RADIUS, 0, EACH_WIDTH, EACH_HEIGHT, 2, 2); } } private function animation():void { var d:Number = dist(_loader.x, _loader.y, _clickX, _clickY); if (d < 3) return; noLoop(); var easeClass:Class = _easings.shift(); _easings.push(easeClass); _tween = BetweenAS3.tween(_loader, { x:_clickX, y:_clickY }, { x: _loader.x, y: _loader.y }, d * 0.005, easeClass["easeOut"] ); _tween.onComplete = function():void { _xs = []; _ys = []; loop(); Object(_loader.content).stopComplete(); }; _tween.onUpdate = function():void { _xs.push(_loader.x + 16); _ys.push(_loader.y + 16); var i:int; var length:int = _xs.length; for (i= 0; i < length; i++) { stroke(_t, 1, 1 , 1); rect(_xs[i], _ys[i], 2, 2); } beginShape(); for (i= 0; i < length; i++) { vertex(_xs[i], _ys[i]); } endShape(); }; _tween.play(); Object(_loader.content).color = color(_t, 1, 1, 1); Object(_loader.content).play(); } public function mouseClicked():void { _clickX = mouseX - 16; _clickY = mouseY - 16; } } } Code Fullscreen Preview Fullscreen assen_nissen.. osamX Simon_Trent : animationmousetoyanimation mouse toy animation mouse toy content Object mouseY mouseX Event.INIT Bounce.easeOut length Loader addChild load URLRequest addEventListener push Boolean Array Event int Number