如何在Flash中获取对象的宽度和高度?

时间:2011-11-27 11:04:24

标签: flash actionscript-3 flash-cs5

我认为这是直截了当的,但我无法重新定位我的内容。 我有一个名为rollOne的按钮实例,当我翻转按钮时我想加载一个swf对象而不是按钮顶部所以我想知道按钮的宽度是什么所以我可以重新定位动态加载内容。我认为rollOne.width会返回宽度,但它只会返回0,高度相同。

我们非常感谢任何建议。

rollOne.addEventListener(MouseEvent.MOUSE_OVER, fetchQty);
function fetchQty(event:MouseEvent):void
{
    myContainer.x = (rollOne.x + rollOne.width);
    myContainer.y = (rollOne.y + rollOne.height);
    var img1Request:URLRequest = new URLRequest("8032697883620.swf");
    var img1Loader:Loader = new Loader();
    img1Loader.load(img1Request);
    myContainer.addChild(img1Loader);
    trace(rollOne.width);
}

2 个答案:

答案 0 :(得分:2)

我假设rollOne是SimpleButton或MovieClip的一个实例 如果是MovieClip,请检查第一帧是否为空。 如果是SimpleButton,则检查所有状态是否为空。

您也可以创建一个忽略原始宽度和高度的Class:

public class MyButton extends SimpleButton
{
    private var _width:Number;
    private var _height:Number;
    public function MyButton(widthInput:Number, heightInput:Number)
    {
        this._width = widthInput;
        this._height = heightInput;
    }

    override public function get width():Number
    {
        return _width;
    }

    override public function get height():Number
    {
        return _height;
    }
}

答案 1 :(得分:-2)

在Flash 8(或ActionScript< = 2)中,您必须使用 object._x object._y ! ; - )