0

AS3でプラットフォーマーゲームのレベルクリエーターを作成しています。.flaでライブラリオブジェクトのグラフィック表現を取得する方法を探しています。これにより、ユーザーはそのオブジェクトを目的の座標でワールドに挿入できます。これが意味するのは、mcの最初のフレームの画像が必要であり、そのプロパティとメソッドを取得せずに(その画像を含む.jpgを作成する必要がない)、問題が発生し始めるためです。レベルクリエーターではなく、プレイモードでのオブジェクト機能が必要です。

たとえば、フレームごとに位置を更新することで常に跳ね返るボールを考えてみましょう。レベルクリエーターでは、ボールの画像を取得して目的の場所に挿入したいと思います。ボールオブジェクト全体をレベルクリエーターに持っていくと、バウンドが止まらず、混乱してしまいます。

はっきりしているといいのですが...これに対する実用的な解決策があるかどうかを知りたいだけです。そうでない場合は、すべてのワールドオブジェクトが拡張されるクラスを作成します。このクラスには、すべてのオブジェクト機能を初期化するinit()関数があるため、レベルクリエーターではなく、再生モードでのみ呼び出されます。とにかく読んでくれてありがとう。

4

1 に答える 1

0

間違っているのは、MovieClipに直接機能を追加することです。

この概念をより深くカバーしている私の以前の回答の1つを読んでください

MovieClipsは、実際のゲームクラスのグラフィックを表す表示のみに使用する必要があります。次に例を示します。

public class Player
{
    // Graphics that represent the Player.
    protected var display:MovieClip;

    // Constructor.
    public function Player()
    {
        display = new PlayerMovieClip();
    }
}

とにかく、修正したら、とを使用BitmapDataしてMovieClipsのビットマップサンプルを取得できdraw()ます。

// Assume that 'mc' is your MovieClip.
var sample:BitmapData = new BitmapData(mc.width, mc.height, true, 0);
sample.draw(mc);

// This is your image.
var texture:Bitmap = new Bitmap(sample);
于 2012-07-25T23:52:20.880 に答える