0

Flash と ActionScript で 3D がどのように機能するかの基本を理解しようとして、本当に混乱しています。

次のことをどのように行うことができるかを説明することで、物事が少し明確になると思います。

MovieClip に緑色の四角形を作成し、クラスに割り当てました。次に、このクラスのインスタンスをステージ上にいくつか作成します。それらを画面上に一列に並べて、rotationYすべてのプロパティを 90 に設定すると、すべて異なって見えます。カメラを通して見た場合と同じように見えます。

これはアクション スクリプト コードです。

package  {

    import flash.display.MovieClip;
    import flash.events.Event;


    public class Main extends MovieClip {

        public function Main() {

            for (var i:uint=0; i<21; i++)
            {
                var obj = new Test();
                obj.y = 300;
                obj.x = i * 80;
                obj.rotationY = 90;
                addChild(obj);
            }
        }
    }

}

これは、出力のスクリーンショットです。 スクリーンショット 1

これはムービークリップのスクリーンショットです: スクリーンショット 2

画面上でこれらをすべて横に並べて表示するにはどうすればよいでしょうか (中央に 1 つの強打があるように)。カメラを通して見ることを事実上無効にしたい。

同様に、y 回転が 0 のステージ上にあるオブジェクトも、3D 空間にあるように扱われ、わずかに回転しているということですか?

ありがとう!

4

1 に答える 1

2

http://backroom.bostonproductions.com/?p=761を見つけました。これはそれをかなりよく説明しています。

これは、90 度の回転がステージの消失点に関連しているためです (消失点は、IDE の 3D 変換ツールを使用して設定できます)。消失点はデフォルトですべての表示オブジェクトに影響し、3D 回転は消失点の結果になります。しかし、消失点に従って 3D 空間で表示オブジェクトを回転させたくない場合はどうすればよいでしょうか? ステージ上の位置に関係なく、正方形を 90 度回転させて、正方形を 90 度回転させたい場合はどうすればよいでしょうか? これは、ActionScript 3 と PerspectiveProjection を使用して処理できます。正方形の PerspectiveProjection を変換し、投影の中心を正方形の X および Y 位置に設定することで、ステージの消失点とは無関係に回転できるようになりました。

そのため、各 MovieClip には独自の PerspectiveProjection オブジェクトを割り当てる必要があります。

また、エレメントは、 http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS7D38179D-58B9-409c-9E5C-257DDECB1A02で説明されているように、x または y 回転または z 位置が設定されている場合にのみ、3D に (自動的に) 変換されます。.html

表示オブジェクトの z プロパティを数値に明示的に設定すると、オブジェクトは自動的に 3D 変換行列を作成します。このマトリックスを変更して、そのオブジェクトの 3D 変換設定を変更できます。

さらに、3D 回転は 2D 回転とは異なります。2D では、回転軸は常に x/y 平面、つまり z 軸に垂直です。3D では、回転軸は x、y、または z 軸のいずれかを中心にできます。表示オブジェクトの回転とスケーリングのプロパティを設定すると、3D 空間で移動できるようになります。

于 2013-06-01T15:50:23.487 に答える