动作中的动态阶段3

时间:2011-11-09 13:32:14

标签: actionscript-3 flash-cs5

我想知道是否有办法让实际舞台动态显示flash文件中加载的内容。

首先,我使用的方法是将一个外部swf导入到一个名为container的容器中。主要阶段,让我们称之为索引,仍然是默认大小,我希望这在内容加载时动态扩展。

page1可能是900px宽度,page2可能是500px宽度,并且当我加载内容时,索引阶段应该将宽度扩展为加载页面的宽度。

我尝试了一些步骤,但没有奏效。

  1. 如果按下page1按钮stage.stageHeight = 900; - 不工作(如何在as3中设置舞台大小)
  2. 在第1页制作了一个跨越页面大小的动画片段并将其命名为p1_stage,以便我可以从那里引用数据。 trace(container.p1_stage.height);出现此错误:
  3.   

    TypeError:错误#1010:术语未定义且没有属性   在index_fla :: MainTimeline / frame1()

3 个答案:

答案 0 :(得分:2)

swffit会这样做(有点)。

它实际上并没有调整阶段的大小,它是一个在浏览器中调整SWF大小的Javascript。您可以通过Flash中的ExternalInterface以加载新内容时所需的大小调用它。

答案 1 :(得分:0)

舞台是闪光灯中的单身人士。当您通过addChild()添加外部swf时,其阶段property将更改为父显示对象的阶段。 此外,您无法更改actionscript代码中的舞台宽度和高度,因为它们是只读参数。

这里讨论了这个问题:

http://activeden.net/forums/thread/change-stage-width-height-just-with-actionscript/8854

http://forums.adobe.com/message/2705364

答案 2 :(得分:0)

舞台已经完全动态,将自动调整其stageHeight和stageWidth属性的内容。你想要的是容器(通常是HTML)随着这些变化而更新。

为舞台的RESIZE事件添加一个侦听器,并通过ExternalInterface调用您的javascript。你可以沿着新的高度传递它。宽度值并以这种方式调整容器大小。

请注意:小心调整身体标签的大小。在某些浏览器中,这将重新加载您的SWF。