Subscribe to RSS Feed ログイン

FLASH備忘6|ActionScriptやらWordPressやらを楽しむ会

Saturday
2010年9月11日

マウスの位置によって回転速度が変わる万華鏡

マウスの位置によって回転速度が変わる万華鏡

マウス位置を変数として回転の計算をするスクリプト


//変数定義
var numBalls:int = 1000;
var vr:Number = 0.05;
var balls:Array = new Array();

//複数のボールの初期位置を決定、配列にそれぞれを格納
for(var i:int = 0; i<numBalls; i++){
 var ball:Ball = new Ball(Math.random() * 10 +5, Math.random() * 0xffffff);
 addChild(ball);
 ball.x = Math.random() * stage.stageWidth * 2 - stage.stageWidth/2;
 ball.y = Math.random() * stage.stageHeight * 2 - stage.stageHeight/2;
 balls.push(ball);
}
addEventListener(Event.ENTER_FRAME, onEnterFrame);

//フレーム毎のイベント
function onEnterFrame(e:Event):void {
 var angle:Number = (mouseX - stage.stageWidth/2) * 0.0001;
 var cos:Number = Math.cos(angle);
 var sin:Number = Math.sin(angle);
 
 //それぞれのボールの動きをひとつずつ計算
 for(var i:int = 0; i<numBalls; i++){
  var ball:Ball = balls[i];
  var x1:Number = ball.x - stage.stageWidth/2;
  var y1:Number = ball.y - stage.stageHeight/2;
  var x2:Number = cos * x1 - sin * y1;//回転の公式
  var y2:Number = cos * y1 + sin * x1;//回転の公式
  ball.x = stage.stageWidth/2 + x2;
  ball.y = stage.stageHeight/2 + y2;
 }
}

ブラウザしばらく放置後におきるなぞの現象↓
screenshot.176

コメント(0)続きを読む

マウス位置に向かって徐々に速度を落とすFLASH(イージング)

 

ボールがマウスが追いかけます。

色もマウスの動きに合わせて変化させようと試行錯誤したのですが、途中であきらめました。

//targetXをmouseXに変更するだけ
dx = mouseX - ball.x;
dy = mouseY - ball.y;

コメント(0)続きを読む