Mouse3Dではちゅねミクを動かそう。

このエントリをはてなブックマークに追加このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加このエントリをkwoutに追加
2008年3月6日 木曜日1:18:31

2.ミクとレンの移動

まず、床部分をクリックした際に、

new Number3D(viewport.interactiveSceneManager.mouse3D.x , viewport.interactiveSceneManager.mouse3D.y , viewport.interactiveSceneManager.mouse3D.z)

こんな感じでクリックしたポイントの座標をゲットする。
次に、ミクとレンの現在位置をNumber3Dとしてゲットし、配列に突っ込んで次の関数に渡す。

private function moveModel(target :D isplayObject3D , points:Array):void {
    var point:Number3D = points.shift() as Number3D;
    var dx:Number =0;
    var dz:Number = 0;
    var rad:Number = 0;
    var distance:Number = 0;
   
    if (target && point) {
        dx = target.x - point.x;
        dz= target.z - point.z;
        rad = Math.atan2(dx , dz) * 180 / Math.PI;
        distance = Math.sqrt(dx * dx + dz * dz);
        target.rotationY = rad;
        Tweener.addTween(target , { x:point.x , y:0 , z:point.z , time:distance / SPEED , transition:"easeincubic" , onComplete:function():void {
                moveModel(target , points);
            }
        } );
    }
}

これでうまくポイントを経由して動く。
今回は2点だが、関数の作り的に何個でも点を経由可能。
半熟英雄か伝説のオウガバトルみたいな異同イメージが実現できると思われる。
これを応用して、ミクとレンのチェスとかも出来るかもしれない。
問題点は、そんなに沢山の駒は重くて画面に入らないと言うコトだ。

  • ページ:
  • 1
  • 2
  • 3
  • 4

トラックバック URL :

コメントをどうぞ

HTML convert time: 0.982 sec.