2011-01-05 6 views
2

画面にテキストボックスを描画しようとしています。下のコードのように、幅と高さを任意の値に割り当てると、描画されるものは何も表示されません。どうしてこれなの?幅と高さの使用は何ですか?アドビのドキュメントによると、スプライトの幅/高さはピクセル単位です。なぜそれは、テキストボックスや他のボックスの描画を閉塞または防止するのだろうか?私は幅と高さがこのスプライトを描くことができる領域を設定すると仮定しましたが、これに基づいて、私はおそらく間違っています。初期スプライトの幅を変更するとテキストボックスが消えます

ありがとうございます。

-Nick

package {

import flash.display.Sprite; 
import flash.events.Event; 
import mx.core.* ; 
import mx.collections.* ; 
import flash.display.* ; 
import flash.text.* ; 

[SWF(width=1000,height=500)] 
public class BareBones extends Sprite 
{ 
    public var backBuffer:BitmapData; 
    public var clearColor:uint = 0xFF0043AB; 
    public var display_txt:TextField; 
    public var i:uint = 0 
    public function BareBones() 
    { 
     addEventListener(Event.ENTER_FRAME, step); 
     width = 1000; 
     height = 500; 
     display_txt = new TextField(); 
     display_txt.text = "Hello World!"; 
     addChild(display_txt); 
    } 

    private function step(event:Event) : void 
    { 
     i++; 
     display_txt.text = i.toString(); 
    } 
} 

}

+0

ちょうどテキストフィールドを作成してから、コンテナの幅と高さを設定してください。それでも、あなたの最終目標が何であるか完全に理解していない... – goliatone

+0

私はちょうどテキストフィールドを表示しようとしています。 BareBonesの寸法を設定すると、テキストフィールドが表示されないのはなぜか分かりません。 – Nikhil

答えて

0

あなたは、コンストラクタでwidthheightを設定すると、実際には順番にルートのtransform.matrixに影響を与えている、scaleXscaleY変数に影響を与えています。

scaleXを設定する方法を知るために、Flashはクリップ内のコンテンツを再生します。たとえば、MovieClipに100x100のボックスがあり、width = 200と設定した場合、FlashはscaleX = 2を計算します。

のクリップにはwidthheightが設定されていますが、その中にはがありません。その結果、scaleXscaleYはともに0に設定されています。

+0

TextFieldは何かとしてカウントされますか? – Nikhil

+0

stepメソッドでgraphics.drawrect(0,0,1000,500)呼び出しを追加し、幅と高さを1000と500に設定しようとしましたが、何も描画しません。テキストフィールドも消えてしまった。おそらく私はこれを間違って描いています。私の描画コードは以下の6行です。私はこれをサンプルコードに基づいています。http://www.brighthub.com/internet/web-development/articles/11012.aspx backBuffer = new BitmapData(1000、500、false); backBuffer.fillRect(backBuffer.rect、clearColor); graphics.clear(); graphics.beginBitmapFill(backBuffer、null、false、false); graphics.drawRect(0、0、1000、500); graphics.endFill(); – Nikhil

+0

@Nikhil:TextFieldは何かを考慮しますが、幅と高さを設定した時点でまだ追加していません。ステートメントの順序を変更してみてください。 –

関連する問題