【发布时间】:2015-11-12 08:31:49
【问题描述】:
我正在尝试在地图演示类型应用程序中实现一个简单的“缩放”功能。用户与NumericStepper 交互以拨入比例值,然后我使用该值设置我的地图精灵的scaleX 和scaleY 属性。地图精灵的父级定义了scrollRect,因此地图在缩放时被裁剪。一切似乎都很好。
当我改变比例时,可见内容自然会随着精灵变大或变小而变化。我想将内容保持在相对相同的屏幕位置。我在下面第一次通过了它,但它并不完全正确。
问题:我是否在正确的轨道上认为我可以通过比较缩放后精灵的宽度/高度的变化来确定 x/y 的移动量? (当我写这篇文章时,我想我可以在缩放之前确定精灵的中心,然后重新定位它,使其保持在该点的中心。嗯......)。
protected function scaleStepper_changeHandler(event:Event):void
{
var cX:Number = wrapper.x + (wrapper.width /2);
var cY:Number = wrapper.y + (wrapper.height /2);
wrapper.scaleX = scaleStepper.value;
wrapper.scaleY = scaleStepper.value;
wrapper.x = cX - (wrapper.width /2);
wrapper.y = cY - (wrapper.height /2);
}
【问题讨论】:
标签: actionscript-3 apache-flex actionscript flex4