Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   ScrollPane + изменение размера окна. Проблема (http://www.flasher.ru/forum/showthread.php?t=151660)

NikosHope 03.03.2011 18:31

ScrollPane + изменение размера окна. Проблема
 
Вложений: 1
Здравствуйте. Реализовал некий функционал с использование стандартного компонента ScrollPane. Однако, возникла проблема. При достижении условий, при которых скроллы должны пропадать, они не пропадают. Причина в том, что нужно сделать поправку при ресайзе контента на их ширину.

Код AS3:

package  {
 
        import flash.display.MovieClip;
        import flash.display.StageAlign; 
        import flash.display.StageScaleMode;
        import flash.events.Event;
        import fl.containers.ScrollPane;
 
        public class main extends MovieClip {
 
                var img_mc:MovieClip;
                var sp:ScrollPane = new ScrollPane();
                var kWH;
 
                public function main()
                {
 
                        stage.scaleMode = StageScaleMode.NO_SCALE;
                        stage.align = StageAlign.TOP_LEFT;
 
                        img_mc = new img;
                        kWH = img_mc.width/img_mc.height;
 
                        sp.source = img_mc;
                        stage.addChild(sp);
 
                        onResize(null);
                        stage.addEventListener(Event.RESIZE,onResize);
 
                }
 
                public function onResize(e:Event)
                {
                        img_mc.x=0;
                        img_mc.y=0;
                        var kh = stage.stageHeight/img_mc.height;
                        var kw = stage.stageWidth/img_mc.width;
                        var kWH2 = stage.stageWidth/stage.stageHeight;
                        if (kWH2>=kWH)
                        {
                                img_mc.width=stage.stageWidth;
                                img_mc.height=img_mc.height*kw;
                                sp.verticalScrollPolicy='true';
                        }
                        else
                        {
                                img_mc.width=img_mc.width*kh;
                                img_mc.height=stage.stageHeight;
                        }
                        sp.update();
                        sp.setSize(stage.stageWidth, stage.stageHeight);
                }
 
        }
 
}



Часовой пояс GMT +4, время: 07:55.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.