如何避免遮罩不可见的部分也被计算进父级的尺寸内?


例如一个界面里有一个用遮罩实现的走马灯效果,这个动画效果可能有1000~2000宽,可见部分则只有200px,外面计算界面布局时获取到这个界面的宽度就比实际可见的大很多导致计算错误,那么在不影响原有代码的基础上怎么获取到实际的可见尺寸?

突然又想到这个问题,以前有一个解决方法,但是不够理想比较耗性能且不够透明化,暂时先不说,看看有没有高手能给出更好的方案 :)

GUI开发 flash actionscript

marsh元素 12 years, 7 months ago

var bitmap:Bitmap=new Bitmap(new BitmapData(100,100,false,0));
var rect:Rectangle=new Rectangle(0,0,10,10);
var sprite:Sprite=new Sprite();
sprite.addChild(bitmap);
sprite.scrollRect=rect;
addChild(sprite);

trace(sprite.width,sprite.height);

// test1
setTimeout(function():void{trace(sprite.width,sprite.height);},1);

// test2
//new BitmapData(1,1).draw(sprite);
//trace(sprite.width,sprite.height);

dousky answered 12 years, 7 months ago

Your Answer