ฉันกำลังทำงานกับแอปมือถือทางอากาศใน Flash CS5.5 และค่อนข้างใหม่เกี่ยวกับเรื่องนี้
นี่คือปัญหาของฉัน: ฉันวางเนื้อหาทั้งหมดของฉันไว้ใน movieClip ที่เรียกว่าฐาน ฉันได้เขียนโค้ดเพื่อปรับขนาด movieClip ของฉันตามอุปกรณ์ที่ใช้งานและการวางแนวของอุปกรณ์ ส่วนนั้นใช้งานได้ดี ปัญหาคือตอนที่ฉันพยายามสร้างฟังก์ชันซูม
movieClip พื้นฐานจะปรับขนาด แต่ฉันประสบปัญหาในการทำให้ขอบเขตขั้นต่ำทำงานได้ เพื่อให้เนื้อหาของฉันไม่เคยปรับขนาดน้อยกว่าความกว้างของอุปกรณ์ ฉันเชื่อว่ามันหมายถึงความกว้างฐานเดิมแทนที่จะเป็นความกว้างฐานที่ปรับขนาดแล้ว มีความคิดเห็นเกี่ยวกับวิธีเรียกใช้ความกว้างฐานใหม่หลังจากฟังก์ชันปรับขนาดหรือไม่ อ้างถึงรหัสของฉันด้านล่างและขอขอบคุณล่วงหน้าสำหรับความช่วยเหลือใด ๆ :)
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;}
}
}