2011-11-27 93 views
3

我认为这将是直截了当的,但我无法重新定位我的内容。 我有一个按钮实例,名为rollOne,当我滚动按钮我想要加载一个SWF对象,但不是在按钮的顶部,所以我想找出按钮的宽度是什么,所以我可以重新定位动态加载的内容。我认为rollOne.width会返回宽度,但它只返回0高度相同。如何在Flash中获取对象的宽度和高度?

任何建议将不胜感激。

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); 
} 
+0

这里的代码没有错,你需要显示如何创建rollOne – PatrickS

+0

这应该工作。如果使用event.target.width而不是rollOne.width,会发生什么情况? –

+0

rollOne只是一个拖放到舞台上的按钮符号,并给出了rollOne的实例名称。 – SurferJoe

回答

2

我认为rollOne是或SimpleButton的实例影片剪辑 如果它是一个MovieClip使检查的第一帧不是空的。 如果它是一个SimpleButton然后检查所有的状态不是空的。

您也可以使自己的类,将忽略原始的宽度和高度:

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; 
    } 
} 
+0

谢谢,按钮的过度状态是空的,因为矩形的填充被设置为无。确保您的隐形翻转填充未设置为无,而是将其设置为0 – SurferJoe

-1

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