2

AS3にステージの最後のレンダリングにアクセスする方法はありますか?そのレンダリング結果はアクセス可能な場所にキャッシュされていますか?特に、ステージをビットマップに再レンダリングすることはできません。これは、コストがかかりすぎるためです。そのため、最後のレンダリングを使用しようとしています。

これが必要なのは、画面の特定の境界内で熱歪み効果を実行しようとしているためです。2Dでこれを実行する標準的な方法は、ディスプレースメントマップを使用して元の画像をジッターすることです。もちろん、私はFlashで熱歪みを行うための他のアイデアを受け入れています。

4

4 に答える 4

2

私たちはこれにアクセスできないと確信しています(理由はわかりませんが)。フラッシュは、フレームからフレームへのステージの変更のみを再描画することを知っています。これは、Flash Debug Playerを右クリックし、[再描画領域の表示]を選択することで確認できます。

畳み込みフィルターディスプレースメントマップフィルターを使用して、人々が何をしているのかを見てみることができます。ここではいくつかの例を示します。

ステージサイズは非常に小さいですが、例は良好な速度で正常に機能しているようです。

于 2009-06-03T22:53:41.023 に答える
1

私はあなたができないと99.9%確信しています。私はこれまでそのことについて言及したことはありません。しかし、素晴らしい機能になるでしょう。申し訳ありませんが、それは特に役に立ちません。

于 2009-06-03T20:05:30.770 に答える
1

ラスターにアクセスすることはできませんが、回避策があります。

アプリケーションスプライト(またはMovieClip)をステージに配置する代わりに、アプリケーションスプライトをビットマップに描画し、それをステージに配置します。この方法では、1回だけレンダリングしますが、最後のレンダリングからビットマップにアクセスできます。

欠点は、Flashがすべてのアプリケーションスプライトをフレームごとにレンダリングすることです(汚れた長方形だけではありません)。

于 2009-06-04T18:26:07.317 に答える
1

Flash Player 10が必要な場合は、歪ませたいステージまたはDisplayObjectに接続されたカスタムピクセルベンダーフィルターを試すことができます。

ただし、Flashが標準フィルターの場合のように内部でキャッシュビットマップを作成する場合、パフォーマンスは独自のビットマップを作成するよりも優れているわけではありません。

于 2009-09-29T06:43:45.150 に答える