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
);
}
}
}