有没有办法使用Actionscript或其他方法调整整个Flash项目的大小?
我创建了一个1024x768 Flash CS3应用程序,但仔细检查规格后,我现在意识到它必须是800x600。而不是手动使一切变小,我想调整窗口的大小,好像有人在拖动外边缘。或者添加一个允许在1024x768和800x600之间切换的按钮。这可能吗?
我的意思是这样的:
stage.stageWidth = 800;
stage.stageHeight = 600;
答案 0 :(得分:4)
是stageWidth和stageHeight是readonly,尽管有文档。但是如果SWF嵌入在网页中,那么更改其元素宽度和高度将改变舞台大小,而scaleMode将决定如何处理。 my Enjoy3D web site处的所有SWF都在窗口大小调整...
上执行此操作答案 1 :(得分:1)
如果你想要的话,你只需编辑你的SWF的HTML包装器,并告诉新的尺寸,尽管我担心和光栅化的媒体即使在缩小时也会像素化。即使你不想,也最好缩小一切。
如果你真的需要在flash中执行它,请使用flash.external包的ExternalInterface类来调用HTML中的JavaScript函数。确保你的swf在div内,并设置为div的高度和宽度的100%。现在,您只需通过JavaScript通过Actionscript更改div的大小。
确保stage.scaleMode按您希望的方式设置。
干杯
答案 2 :(得分:0)
您无法从Actionscript更改舞台宽度和高度,这些属性是只读的。
在编译你的swf之前,难道你不能只设置舞台属性的大小(我假设你在这里使用Flash)到800乘600?
答案 3 :(得分:0)
或者如果你有一个纯粹的ActionScript项目,你不能做FlexGlobals或Application,你可以从你的主要动作脚本文件(Sprite)执行以下操作(请注意,在执行此操作之前必须初始化阶段)
width = WIDTH;
height = HEIGHT;
stage.stageWidth = WIDTH;
stage.stageHeight = HEIGHT;
stage.nativeWindow.width = WIDTH;
stage.nativeWindow.height = HEIGHT;