我正在开发 Flash CS5.5 中的空中移动应用程序,对此我很陌生。
所以这是我的问题:我将所有内容都放在了一个名为 base 的电影剪辑中。我已经编写了代码来根据正在运行的设备和设备方向调整我的电影剪辑的大小。那部分工作正常,问题是当我尝试创建缩放功能时。
基本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;}
}
}