Я работаю над воздушным мобильным приложением во Flash CS5.5 и довольно новичок в этом.
Итак, вот моя проблема: я поместил весь свой контент внутри мувиклипа с именем base. Я написал код для изменения размера моего мувиклипа в зависимости от устройства, на котором он работает, и ориентации устройств. Эта часть работает нормально, проблема в том, что я пытался создать функцию масштабирования.
Базовый мувиклип масштабируется, но у меня возникают проблемы с работой минимальной границы, чтобы мой контент никогда не масштабировался меньше, чем ширина устройства. Я считаю, что это относится к исходной базовой ширине, а не к измененной базовой ширине. Любые идеи о том, как вызвать новую базовую ширину после функции изменения размера? Обратитесь к моему коду ниже и заранее спасибо за любую помощь :)
import flash.geom.Rectangle;
stop();
base.play();
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
var guiSize:Rectangle = new Rectangle(0, 0, 480, 800);
var appScale:Number = 1;
stage.addEventListener(Event.RESIZE, handleResize);
function handleResize(e:Event):void {
var deviceSize:Rectangle = new Rectangle(0, 0, stage.stageWidth,
stage.stageHeight);
appScale = deviceSize.width / guiSize.width;
base.width = appScale * guiSize.width;
base.height = appScale * guiSize.height;
Multitouch.inputMode = MultitouchInputMode.GESTURE;
base.addEventListener(TransformGestureEvent.GESTURE_ZOOM , onZoom);
function onZoom (e:TransformGestureEvent):void{
if (base.scaleX * e.scaleX < 1)
{}
else if (base.scaleX * e.scaleX > 5)
{}
else {
base.scaleX *= (e.scaleX+e.scaleY)/2;
base.scaleY *= (e.scaleX+e.scaleY)/2;}
}
}