サインコサイン(3)

| コメント(0) | トラックバック(0)

サインコサイン(2)」の続き。

前回のサンプルを3Dっぽく見えるように加工してみる。
回転しているのがわかりやすいように、MC「ball」にナンバーをうつ。

【製作過程】

基本はすべて前回と同じ。MC「ball」にダイナミックテキスト(インスタンス名:num)をフォントサイズ「12」で埋め込む。さらに、Y軸の半径をx軸の半径の半分にする。

FLASH PLAYER

Get Adobe Flash player

以下、コード。

//ballの数
var ball_sum:Number=20;
//半径
var radiusX:Number=70;
var radiusY:Number=radiusX/2;
//中心値
var center:Number=100;
for(var i:Number=0;i<ball_sum;i++){
 var ball:MovieClip=_root.attachMovie("ball","ball"+i,i);
 //角度取得
 var angle:Number=360/ball_sum*i;
 //オリジナルプロパティ
 ball.angle_value=angle;
 //ラジアン取得
 var radian:Number=Math.PI/180*angle;
 ball._x=Math.cos(radian)*radiusX+center;
 ball._y=Math.sin(radian)*radiusY+center;
 ball.num.text=i;
}
_root.onEnterFrame=function():Void{
 for(var i:Number=0;i<ball_sum;i++){
  var ball:MovieClip=this["ball"+i];
  ball.angle_value+=5;
  var radian:Number=Math.PI/180*ball.angle_value;
  ball._x=Math.cos(radian)*radiusX+center;
  ball._y=Math.sin(radian)*radiusY+center;
 }
}

次に、遠近感をつけてみる。
「ball._y」は65から135を行き来している(中心点100で、x軸の半径の半分35をy軸方向に往復している)ので、それをそのまま「ball._xscale」と「ball._yscale」に適用する。
また、MC「ball」の重なり具合がおかしいので、深度を調整する。
手前にあるほど深度が高く、奥にあるほど深度が低くなればよいので、MC「ball」のY座標を深度に適用する。

FLASH PLAYER

Get Adobe Flash player

以下、コード。

//ballの数
var ball_sum:Number=20;
//半径
var radiusX:Number=70;
var radiusY:Number=radiusX/2;
//中心値
var center:Number=100;
for(var i:Number=0;i<ball_sum;i++){
 var ball:MovieClip=_root.attachMovie("ball","ball"+i,i);
 //角度取得
 var angle:Number=360/ball_sum*i;
 //オリジナルプロパティ
 ball.angle_value=angle;
 //ラジアン取得
 var radian:Number=Math.PI/180*angle;
 ball._x=Math.cos(radian)*radiusX+center;
 ball._y=Math.sin(radian)*radiusY+center;
 ball.num.text=i;
}
_root.onEnterFrame=function():Void{
 for(var i:Number=0;i<ball_sum;i++){
  var ball:MovieClip=this["ball"+i];
  ball.angle_value+=5;
  var radian:Number=Math.PI/180*ball.angle_value;
  ball._x=Math.cos(radian)*radiusX+center;
  ball._y=Math.sin(radian)*radiusY+center;
  ball._xscale=ball._yscale=ball._y;
 
//MC「ball」のY座標を深度として扱い、重なり具合を調整する
  ball.swapDepths(Math.floor(ball._y));
 }
}

トラックバック(0)

トラックバックURL: http://www.ayabin.jp/mt5/mt-tb.cgi/175

コメントする

このブログ記事について

このページは、webmasterが2009年5月29日 08:36に書いたブログ記事です。

ひとつ前のブログ記事は「サインコサイン(2)」です。

次のブログ記事は「クラスの場所【CS3】」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。