私は髪を引き出しています。私はこの非常に奇妙なバグを持っています:バグはブラウザでは見えますが、Flash CS5では表示されません
私はSpriteを拡張するカスタム "StagedSprite"クラスを持っています。その目的は、ステージのサイズが変更されるたびにステージの境界線に自動的に位置を合わせることです。
今、私はPNGファイル "ybmp"(ビットマップ)を読み込み、 "loadingIcon"(StagedSprite)に子として追加します。 Flash CS5では、PNGが画面上に正しく表示されます(あまりにも揃っています)。しかし、FirefoxやIEからSWFを公開して実行すると、PNGが表示されません。でもMORE奇妙である何
は、次のコードを生成するものである:
//var ybmp:Bitmap = the loaded bitmap
//loadingIcon is a StagedSprite
loadingIcon.addChild(ybmp);
trace(ybmp.bitmapData.width,ybmp.bitmapData.height);
trace(ybmp.width,ybmp.height);
trace(loadingIcon.width,loadingIcon.height,loadingIcon.getChildAt(0),loadingIcon.stage);
私は、画面上のテキストフィールドに「トレース」の結果を置きます。 CS5では、上記のコードが生成:FirefoxとIEで
215 200
215 200
215 200 [object Bitmap] [object Stage]
を、上記のコードは生成:
215 200
215 200
0 0 [object Bitmap] [object Stage]
それは地球上では何ですか?!?ブラウザでは、 "loadingIcon"ではBitmap ISが追加されていますが、 "loadingIcon"では幅と高さがゼロに設定されています。 ?!?!?
ここでもStagedSpriteコードを貼り付けることができますが、少し大きめでscrollRectプロパティはありません。結局のところ、Flashオーサリングツールで実行される理由は何でしょうか?ブラウザではありません。
事前に多くの多くのおかげで、
ビル
EDIT: ああ、私は良いです。それでも信じられないほどの理由で、loadingIconはscaleXとscaleYを0に設定していましたが、ブラウザのバージョンでのみです。私のコードでは、scaleXまたはscaleYには何も設定していませんが、デフォルトでは1に設定する必要があります。
ブラウザで私の「loadingIcon」が0の位取りを持ち、CS5にはないという意見はありますか?どちらの場合もまったく同じコードです。これを1000回クロスチェックしました...