Away3D v2.1.0の使い方(5)- らせん

June 29, 2008

The Flash Blogのpapervision3DらせんサンプルをAway3Dに移植。

Away3D
サンプル表示
サンプルソース

らせんを完成させるまでの考え方
1.y軸等間隔にPlaneオブジェクトを配置
Away3D

2.rotationYに回転角度をセット
Away3D

var num:int = 10; // 10個Planeを生成
var anglePer:Number = 360 / num; //1回転360度割る10個で回転角度36度ずつになる
for(var i:int=0; i < num; i++ )
{
var p:Plane = new Plane({width:W,height:H});
p.rotationY = i*anglePer;// 36度ずつ回転させる
(省略)
view.scene.addChild(p);
}

3.zプロパティをセット
Away3D

for(var i:int=0; i < num; i++)
{
var p:Plane = new Plane({width:W,height:H});
p.rotationY = i*anglePer;// 36ずつ回転させる
p.z = Math.cos(i*anglePer) * RADIUS;
(省略)
view.scene.addChild(p);
}

4.xプロパティをセット
Away3D

for(var i:int=0; i < num; i++)
{
var p:Plane = new Plane({width:W,height:H});
p.rotationY = i*anglePer;// 36ずつ回転させる
p.x = Math.cos(i*anglePer) * RADIUS;
p.z = Math.cos(i*anglePer) * RADIUS;
(省略)
view.scene.addChild(p);
}

5.mouseYの位置に反応して、らせんが上下する動きをつける

(ENTER_FRAME内処理)
var distY:Number = (mouseY - stage.stageHeight/2) * 0.1;
camera.y += distY;
if(camera.y < MIN_Y) camera.y = MIN_Y;
if(camera.y > MAX_Y) camera.y = MAX_Y;

6.mouseXの位置に反応して、らせんが回転する動きをつける

var distX:Number = (mouseX - stage.stageWidth/2) * 0.0005;
angle += distX;
camera.x = Math.cos(angle)*500;
camera.z = Math.sin(angle)*500;

カメラを回転させる際、Camera3Dではダメ。TargetCamera3Dを使う必要あり。
カメラのzプロパティはMath.sin()を使わないと回転しなかった。
これに伴い3.の計算式もMath.sin()を使うように変更。

テクスチャつけたり、サイズかえたりして冒頭のサンプルになる。

カテゴリー: 


タグ: 


Posted by scratchbrain at June 29, 2008 8:04 PM ブックマークに追加する

Trackback

Trackback URL for this entry:

Post a Comment


検索

このブログを検索

サイトコンセプト

当ブログは、レディオヘッド、司馬遼太郎作品の読書感想、Flash、Actionscriptの技術メモ・サンプルソース、日記・雑感などを公開しています。
[SCRATCHBRAIN プロフィール]
[アートワーク]
[Twitter]

リンク

  • scratchbrain.netホーム
  • アートワーク
  • scratchbrainプロフィール
  • 音楽ブログ
  • スクラップブック
  • 実験プロジェクト
  • こんなライヴに行きました

広告

最近のエントリー

カテゴリー

タグクラウド

全てのエントリー一覧

RSSフィード

月別アーカイブ

powered by Movable Type Pro 4.23-ja

hosted by