0

下部に簡略化されたバージョンのコードを追加します。

私はスプライトを持っています、それは目に見えて幸せです。私はテキストフィールドを持っています、これは目に見えて幸せです。アニメーションの目的でテキストフィールドをスプライトに印刷すると、すべての地獄が解き放たれます。

スプライトにはドロップシャドウがあり、出力は警告スイングをスローします。テキストフィールドを親にすると、スプライトの幅は8900ピクセル以上、高さは7000ピクセルになります。ハックを使用して、アニメーション中にテキストフィールドとスプライトを一緒に保つことができることは知っていますが、そうではありません。コード:

private var headerField:TextField = new TextField();  //text field for the header text
private var contentBox:Sprite;  //box surrounding text elements

headerFormat.font = boldFont.fontName;
            headerFormat.align = TextFormatAlign.LEFT;
            headerFormat.color = (0xDDDDDD);
            headerFormat.size = headerSize;
            headerFormat.leading = 2;

contentBox = new Sprite();
            contentBox.graphics.beginFill(uint(pageColour));
            contentBox.graphics.drawRect(0, 0, 100, 100);
            contentBox.graphics.endFill();

contentBox.filters = [new DropShadowFilter(4, 90, 0, 0.75, 4, 4, 0.75, 3, false, false, false)];

contentBox.x = 25;
                contentBox.y = 150;
                contentBox.width = 1140;
                contentBox.height = 555;

headerField.x = 50;
                headerField.y = 180;
                headerField.width = 610;

addChild(contentBox);
addChild(headerField);

正常に動作し、変更します。

addChild(headerField);

に:

contentBox.addChild(headerField);

また、テキストフィールドは表示されず、出力には影をレンダリングできないことが示され、すべての実行が非常に遅くなります。

幅などを変更する前に、ステージにアイテムを追加してみましたが、違いはありません。何か案は?

乾杯。

4

2 に答える 2

0

TweenMaxとそのMotionBlurプラグインで使用するときに、この問題に対処しました。あなたも使っていますか?

または、embeddedFontを使用して、問題がないかどうかを確認してください。

于 2012-07-02T10:11:07.490 に答える
0

DisplayObjectのXプロパティとYプロパティが親に基づいて決定される場合は、注意してください。したがって、テキストの親を変更すると、おそらく思った場所に到達しないことを意味します(たとえば、Xの位置はステージの左から50ピクセルではなく、contentHeaderから50ピクセル、それ自体は左から25ピクセルになります)ステージ)。ドロップシャドウラインをコメントアウトして(エラーの原因であると思われるため)、テキストフィールドが実際に位置的に終了している場所を確認して調整してみてください。しかし、なぜそれがエラーを引き起こすのかわかりません。

または、ヘッダーのX、Y、幅を設定した行をコメントアウトして、何かが変わるかどうかを確認してください。おそらく、これはバグを絞り込むのに役立ちます。

于 2012-07-02T15:11:14.077 に答える