当前位置:  开发笔记 > 编程语言 > 正文

AS3类扩展精灵

如何解决《AS3类扩展精灵》经验,为你挑选了1个好方法。

我是ActionScript的新手,请原谅我,如果这是一个愚蠢的问题.

所以,我创建了一个类,扩展了sprite类,现在在构造函数中,我试图设置从DisplayObject继承的Sprite的width和height属性.但是,在我设置this.width和this.height并打印值后,我得到0.

到底他妈发生了什么?当我查看livedocs时,我看到DisplayObject的宽度和高度被列为公共属性.我已经能够直接实例化一个Sprite,并在实例化之后设置宽度和高度,所以我不明白.

package  {
    import flash.display.*;

    public class ScrollBar extends Sprite {
        public function ScrollBar(width:Number, height:Number) {
            trace(width + "x" + height);
            this.width = width;
            this.height = height;
            trace(this.width + "x" + this.height);          
    }
}

输出:

20x400
0x0

muffinista.. 5

来自文档:

基于显示对象的内容的边界来计算宽度.设置width属性时,scaleX属性会相应调整...除TextField和Video对象外,没有内容的显示对象(例如空精灵)的宽度为0,即使您尝试将宽度设置为不同的价值.

你需要渲染一些东西作为精灵的一部分来获得有效的w/h.



1> muffinista..:

来自文档:

基于显示对象的内容的边界来计算宽度.设置width属性时,scaleX属性会相应调整...除TextField和Video对象外,没有内容的显示对象(例如空精灵)的宽度为0,即使您尝试将宽度设置为不同的价值.

你需要渲染一些东西作为精灵的一部分来获得有效的w/h.

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有