私はFlashを持っており、いくつかの画像を動的にロードします。
しかし、このフラッシュを大画面モニターで表示しているとき、フラッシュは自動スケーリングです(ステージの自動スケーリングを無効にすることはできません)。同様に、画像のサイズも大きくなっています。ここで問題が発生します。大画面モニターでは、画像がぼやけています。
どうすればすべてのサイズのモニターでうまくいくことができますか。
ここで私が欲しいのは、画像のスケーリングを選択的に無効にすることです。
私はFlashを持っており、いくつかの画像を動的にロードします。
しかし、このフラッシュを大画面モニターで表示しているとき、フラッシュは自動スケーリングです(ステージの自動スケーリングを無効にすることはできません)。同様に、画像のサイズも大きくなっています。ここで問題が発生します。大画面モニターでは、画像がぼやけています。
どうすればすべてのサイズのモニターでうまくいくことができますか。
ここで私が欲しいのは、画像のスケーリングを選択的に無効にすることです。
組み込みの可能性はありません...しかし、このコードは任意のスケールを解除しDisplayObject
ます...
var m:Matrix = target.transform.concatenatedMatrix;
m.invert();
target.transform.matrix = m;
ここから、あなたが望むものを達成するための多くの方法があります...最も簡単な方法は、ステージのスケーリングを無効にし、サイズ変更をリッスンしてから、一番上DisplayObject
の s のサイズを変更して、ステージに合わせることです...利点は、そのサイズ変更イベントがトリガーされます...したがって、DisplayObject
スケーリングしないままにしたいsの場合、サイズ変更イベントにリスナーを追加し、サイズ変更時にそれらをスケーリング解除します...
それ以外の場合は、aDisplayObject
をステージに置き、 concatenatedMatrix
enterframe にあることを確認します ... a と d (スケーリング パラメータ) が変更された場合、サイズ変更が行われます ... 次に、スケーリングを解除するすべてのオブジェクトのスケーリングを解除します ... これは 1 つの追加イベントですエンターフレームでのハンドラー呼び出しと2つのフロート比較なので、パフォーマンスキラーにはなりません...
それが役立つことを願っています...
あいさつ
back2dos