在Flash AS3 - iPhone应用程序中使用多个组件

时间:2012-01-03 15:30:08

标签: iphone flash actionscript-3

首先:新年快乐!

我遇到Flash CS5.5,AS3的问题。我的文档中有两个ScrollPane组件。它们都在另一个场景中,(即时)名称是唯一的。但它不能正常工作。当我用第二个ScrollPane转到另一个场景时,我得到一个错误&它开始闪烁。

我的错误:

  

TypeError:错误#1006:setSize不是函数。在   application051_fla :: MainTimeline / frame25()[application051_fla.MainTimeline :: frame25:7]

我想创建一个iPhone应用程序,我希望多个组件在一个文档中正常工作。

我的一小段代码(不要认为问题在这里):

ScrollPane02.source = tekst03;
ScrollPane02.setSize(350,400);
ScrollPane02.move(0, 20);
ScrollPane02.scrollDrag = false;

如果你知道答案或我做错了什么,请评论!搜索小时/天!

提前致谢!

1 个答案:

答案 0 :(得分:0)

编辑:

好的,在深入了解FLA之后,我终于弄清楚你做了什么。 。 。右键单击“库”中的ScrollPane,然后单击“复制”。然后你给它起了名字ScrollPane02。除了复制过程没有将新对象连接到ScrollPane的设置。相反,它创建了一个通用的MovieClip对象。由于它不是实际的ScrollPane,因此时间轴的Actionscript上的所有方法都会失败。

这就是解决方案(在下面的评论中)有效的原因。 @AsTheWormTurns在时间轴上的两个实例中使用了第一个(实际)ScrollPane;是一个可行的解决方案

(唯一需要注意的是,如果更改库中的ScrollPane对象,它将影响所有实例。这不应该是一个问题,因为 - 对于组件 - 通常只进行更改实例。)


我最初回答的有用提示:

当编译成SWF时,场景只是在时间轴中一个接一个地插入,就像电影中的场景一样。如果您在一个场景的末尾没有stop(),它将继续直接进入下一个场景,就像电影一样。场景的想法是分离内容。这意味着sceneB中不存在sceneA中存在的内容。场景也无法相互访问。

我的建议是根本不使用场景。它们很难正确使用,并且使用时间轴或Actionscript的效果很差。