我有一个组件,我正在尝试从全局应用程序代码中设置一个 scrollRect 。
当我将函数定义为
public function foo():void{ obj.scrollRect = new Rectangle(blah,blah,blah,blah); }
scrollRect 不会被应用,视口也不会改变。
但是,当我在该组件中设置事件,从函数定义中删除 public 时,它会按预期运行。
我需要以编程方式滚动
此功能按预期使用渐变滚动:
function mouseClickNext(event:MouseEvent):void{
var sum:Number = bookmark_navigator.width -x_holder;
if( sum<= 310)return;
if(bookmark_navigator.width >= 310){
var obj:Rectangle = bookmark_navigator.scrollRect;
var setWidth:Number = bookmark_navigator.numElements * 28;
if(x_holder + 40 >= bookmark_navigator.width)
x_holder=bookmark_navigator.width;
else x_holder += 40;
bookmark_navigator.scrollRect = new Rectangle(x_holder,0,bookmark_navigator.width,30);
}
}
但是,此功能不会:
var np:Number = 0;
public function check():void{
return;
np= 0;
while(true){
try{
var sum:Number = bookmark_navigator.width -np;
if( sum<= 310)break;
np += 40;
}catch(e:Error){break;}
}
bookmark_navigator.scrollRect = new Rectangle(np,0,bookmark_navigator.width,30);
}
退货是作为一种测试手段加入的。