In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

forked from: forked from: MultiStripe (090616)

Tweenerで動かしていたのを軽いと噂のTweensyに変更してみたが、
やっぱりダメだな。
1本づつ動かしてグライコの出来損ないみたいな感じに。
なんかずーっと動かしてるともったりしてくる。
【注意!!!】ブラウザ落ちるかも、、、
ここから何かできるかな。
/**
 * Copyright OneInchPunch ( http://wonderfl.net/user/OneInchPunch )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/zsUw
 */

// forked from OneInchPunch's forked from: MultiStripe (090616)
// Tweenerで動かしていたのを軽いと噂のTweensyに変更してみたが、
// やっぱりダメだな。

// forked from OneInchPunch's MultiStripe (090616)
// 1本づつ動かしてグライコの出来損ないみたいな感じに。
// なんかずーっと動かしてるともったりしてくる。
// 【注意!!!】ブラウザ落ちるかも、、、

// ここから何かできるかな。

package {
    import flash.display.*;
    import flash.events.*;
    import flash.utils.*;
    import com.flashdynamix.motion.*;
    import fl.motion.easing.*;
    //import net.hires.debug.Stats;
    
    [SWF(backgroundColor="#000000", frameRate=60)]
    
    public class MultiStripe extends Sprite {
        
        private var stageW:Number = stage.stageWidth;
        private var stageH:Number = stage.stageHeight;
        
        public function MultiStripe() {
            init();
            
            //addChild(new Stats());
        }
        
        
        private function init():void {
            
            // コンテナMC
            var _container:MovieClip = new MovieClip();
            _container.x = 0;
            _container.y = 0;
            
            addChild(_container);
            
            
            // 横分割数
            var horizontalNum:int = 4;
            // 縦分割数
            var verticalNum:int = 200;
            
            
            for(var i:int = 0; i < horizontalNum; i++) {
                
                // 横縞
                var _box:Sprite = new Sprite();
                
                _box.graphics.beginFill(0x000000);
                _box.graphics.drawRect(0,
                                       ((stageH / horizontalNum) * (i + 1)) - (stageH / horizontalNum),
                                       stageW,
                                       stageH / horizontalNum
                                       );
                _box.graphics.endFill();
                
                
                // 縦縞
                for (var n:int = 0; n < verticalNum; n++) {
                    
                    var _obj:Sprite = new Sprite();
                    
                    _obj.graphics.beginFill(Math.random() * 0xffffff);
                    _obj.graphics.drawRect(((stageW / verticalNum) * (n + 1)) - (stageW / verticalNum),
                                           (stageH / horizontalNum) * i,
                                           stageW / verticalNum,
                                           stageH / horizontalNum);
                    _obj.graphics.endFill();
                    
                    _obj.blendMode = "add";
                    
                    // 動かす
                    xLoop(_obj);
                    
                    // 横縞に追加
                    _box.addChild(_obj);
                    
                }
                
                
                // コンテナに追加
                _container.addChild(_box);
            }
        }
        
        
        private function xLoop(_targetObj:Sprite):void {
            // タイマー
            var _timer:Timer = new Timer(2500);
            _timer.addEventListener(TimerEvent.TIMER, xTween);
            _timer.start();
            
            function xTween(e:TimerEvent):void {
                // 移動量を200〜-200でランダムに
                var _targetY:Number = Math.floor( (Math.random()*400)-200 );
                
                // Tween設定
                var _tween:TweensyTimeline = Tweensy.to(_targetObj,
                                                        {y:_targetY},
                                                        1.0,
                                                        Elastic.easeOut
                                                        );
                _tween.onComplete = xCallBack;
                _tween.onCompleteParams = [_targetObj];
            }
        }
        
        // コールバック関数
        private function xCallBack(_targetObj:Sprite):void {
            var _callBack:TweensyTimeline = Tweensy.to(_targetObj,
                                                       {y:0},
                                                       1.0,
                                                       Elastic.easeOut
                                                       );
        }
    }
}