ActionScript 2を使用してMediaMindを使用してSmartVersioning広告を作成しています(パブリッシャーはAS3を許可していません)。AS2:MovieClipにレンダリングされたグラフィックスがあるかどうかの確認
実装方法をスキップする - 基本的には、スマートバージョン管理サービスを使用してスワップ可能なイメージを含むメインタイムラインメインタイムラインのムービークリップのコレクションです。メインのタイムライン上にあるオブジェクトは、Smart Versioningオブジェクトとしてのみ定義できます。
私がこれでやっているのは、BitmapDataを使ってメインタイムライン上のアセットをアニメーション全体のグラフィックスのソースとして使用することです。
はほど簡単であるべき:
import flash.display.BitmapData;
var bmd:BitmapData = new BitmapData(143, 230, true, 0);
bmd.draw(_root.person1);
attachBitmap(bmd, getNextHighestDepth());
は、しかし(すなわち画像がアニメーション全体で必要な)スマートバージョニング資産をロードするの遅れがあります - これは、資産が「hasn場合は、上記のコードが失敗する可能性があります時間で読み込まれます。
私はその後に私の上記のコードを修正するようになった:
import flash.display.BitmapData;
var bmd:BitmapData = new BitmapData(143, 230, true, 0);
onEnterFrame = function():Void
{
bmd.draw(_root.person1);
}
attachBitmap(bmd, getNextHighestDepth());
動作しますが、明らかな問題があり、かなり貧弱な符号化です。したがって、このコードが実行されているMovieClipにグラフィックが描画されているかどうかをチェックする方法はありますか?以下のような何か:
onEnterFrame = function():Void
{
if(<hasNoGraphicsYet>)
bmd.draw(_root.person1);
else
delete(onEnterFrame);
}
。何も描画されていない場合、 '0'でなければならないのでしょうか? – DanielB
ああ完璧です。答えとして投稿したいのなら、私はそれを受け入れます。 – Marty
そう......... – DanielB