Здравствуйте. Реализовал некий функционал с использование стандартного компонента 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);
}
}
}