1

fl.controls.Buttonサイズ (w:300、h:200) に設定した があります。次に、このボタンを空の「コンテナ」スプライトに追加します。私が理解していることから、表示オブジェクトの幅/高さのパラメーターを見ると、表示オブジェクトの子が考慮されます。しかし、これはボタン オブジェクトにはまったく当てはまらないようです。

例えば:

        var container:Sprite = new Sprite();
        trace(container.width, container.height); // 0 0
        var btn:Button = new Button();
        btn.setSize(300, 200);
        this.addChild(container);
        container.addChild(btn);

        trace(btn.width, btn.height);  // 300 200
        trace(container.width, container.height); // 100 100  - Why??

        var rectangle:Sprite = new Sprite();
        rectangle.graphics.drawRect(0, 0, 500, 400);
        container.addChild(rectangle);
        trace(container.width, container.height); // 500 400

コンテナはスプライト内の唯一のものであるため、ボタンと同じ幅/高さの値が与えられないのはなぜですか。同様に、代わりに と書いsetSize(40,40)た場合、コンテナのサイズは 100x100 になります。内部に多くのボタンがあるコンテナの垂直方向のサイズを判断するのが難しくなっています。

4

2 に答える 2

0

一連のシェイプを含むスプライトで同様の問題が発生しました。そのスプライトをステージに追加してから、そのサイズを照会することで解決しました。スプライトをステージに追加し、そのサイズをクエリして、すぐにステージから削除するだけで、表示されなくなりますが、サイズは有効になります。

于 2013-04-04T06:24:32.987 に答える