0

コンポーネントがあり、グローバル アプリケーション コード内から 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);
        }

リターンは、テストの手段として追加されました。

4

1 に答える 1