Tweensyでぶるぶる震える
Tweensyで出来るだけ簡単に位置をぶるぶる振動させる実験
* 上は失敗作、下はそれっぽいの
/*
* Tweensyで出来るだけ簡単に位置をぶるぶる振動させる実験
* 上は失敗作、下はそれっぽいの
*/
package
{
import flash.display.*;
import com.flashdynamix.motion.*;
[SWF(width="465", height="465", backgroundColor="#000000", frameRate="30")]
public class ShakeTweensy extends Sprite
{
public function ShakeTweensy()
{
// 玉を配置
var ball01:Sprite = new Sprite();
var ball02:Sprite = new Sprite();
setBall( ball01, this.stage.stageWidth/2, 120 );
setBall( ball02, this.stage.stageWidth/2, 240 );
//----------------------------------
// ボールがプルプル震えるのを作る
//----------------------------------
// (上)TweensyTimelineのrepeatと、相対値をランダムに取る方法を使ってみる
// コーテーションで囲って、カンマで区切るとその範囲でランダムな数値分、相対移動
var tween:TweensyTimeline = Tweensy.to( ball01, { x:'-7,7', y:'-7,7' }, 0.05 );
tween.repeatType = TweensyTimeline.REPLAY;
// 【結果】ランダムな値を取るのは最初だけ(毎回取ってくれない)なので、同じ動作を繰り返す。
//--------------------------------------------
// (下)ランダムに動くのをTweensySequenceにまとめて、それを繰り返す
var shakeNum:uint = 50; // 1ターンに震える回数
var sequence:TweensySequence = new TweensySequence();
for ( var i:uint = 0; i < shakeNum - 1; i++ )
{
sequence.push( ball02, { x:'-7,7', y:'-7,7' }, 0.02 );
}
sequence.repeatType = TweensyTimeline.REPLAY;
sequence.start();
// 【結果】なんとなくランダムに振動している感じに見える
}
// 玉を描いて配置するだけのん
private function setBall( target:Sprite, xx:Number, yy:Number ):void
{
var g:Graphics = target.graphics;
g.beginFill( 0xFF0000, 1 );
g.drawCircle( 0, 0, 20 );
g.endFill();
target.x = xx;
target.y = yy;
this.addChild( target );
}
}
}