0

我正在构建一个旨在成为非常具有吸引力的应用程序的Flash项目。为了实现这个目标,我希望能够使应用程序适应浏览器窗口的100%大小,并使用视觉上吸引人的图像和交互性填充其内容。Flash调整大小问题

这些对象中的一些我想保持距离舞台某一侧的一致距离,比如左侧。这里是我的代码,我使用的在运行时和重新大小从应用程序的左侧保持标志100像素:

import flash.events.Event; 

var logo:Logo = new Logo(); 

stage.addEventListener(Event.RESIZE, resizeListener); 

function resizeListener(e:Event):void { 
    logo.x = 100; 
} 

logo.x = 100; 
logo.y = stage.stageHeight/2; 
logo.width = logo.width/2; 
logo.height = logo.height/2; 

addChild(logo); 

这样做的问题是,由于某种原因,标志停留在当应用程序重新调整大小时,它不会与舞台左侧保持一致的距离。有人可以帮我修改上面的代码,使左侧的logo保持100px吗?

谢谢你的帮助。

回答

3

确保您已设置stagealignscaleMode

stage.align = StageAlign.TOP_LEFT; 
stage.scaleMode = StageScaleMode.NO_SCALE; 

理想情况下,你会通过文档类设置这一点,如果你试图让从进口影片剪辑这些变化可能会有安全问题。另外,Flash调试播放器可能存在舞台对齐和缩放问题,这些问题不会出现在实时浏览器测试中。

+0

好的,我们正在取得进展,但我有一个背景图像,它与TOP_LEFT设置有关。有没有我们可以用默认的StageAlign设置来解决这个问题的方法? – 2011-05-28 01:28:18

+1

您可以尝试[StageAlign](http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/StageAlign.html)属性的其他值,但您可能需要重新计算徽标的位置调整大小(只是一个猜测,但用于中心对齐的“-stageWidth/2”) – zzzzBov 2011-05-28 01:32:23

+0

啊...好吧,我将StageAlign更改为左侧,并将背景的注册点设置为左侧。在此之前,背景的中心是注册点,并且在重新抓住过大时不会大到足以覆盖舞台。所以,现在当舞台重新调整大小时,背景图片非常适合。谢谢你的帮助! – 2011-05-28 01:36:49