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

在Flash AS3-iPhone应用程序中使用多个组件,iphone,flash,actionscript-3,Iphone,Flash,Actionscript 3,首先:新年快乐 我对Flash CS5.5 AS3有问题。我的文档中有两个滚动窗格组件。它们都在另一个场景中,(即时)名称是唯一的。但它不能正常工作。当我使用第二个滚动窗格转到另一个场景时,我得到一个错误&它开始闪烁 我的错误: TypeError:Error#1006:setSize不是一个函数。在 application051佛罗里达州::主时间线/frame25()[application051佛罗里达州主时间线::frame25:7] 我想制作一个iPhone应用程序,我想让多个组件在一

首先:新年快乐

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

我的错误:

TypeError:Error#1006:setSize不是一个函数。在 application051佛罗里达州::主时间线/frame25()[application051佛罗里达州主时间线::frame25:7]

我想制作一个iPhone应用程序,我想让多个组件在一个文档中正常工作

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

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

提前谢谢

  • 上传了.fla文档。如果您想查看(请),可以在此处下载:
编辑:

好吧,在佛罗里达州的调查之后,我终于知道你做了什么。您右键单击“库”中的
滚动窗格
,然后单击“复制”。然后您给它起了一个名字
ScrollPane02
。只是复制过程没有将新对象连接到
滚动窗格的设置。相反,它创建了一个通用的
MovieClip
对象。由于它不是一个实际的
滚动窗格
,因此时间轴的Actionscript上的所有方法都将失败是有道理的

这就是解决方案(在下面的评论中)起作用的原因@AsheWormTurns在时间线上的两个实例中使用了第一个(实际的)
滚动窗格
;这是一个可行的解决办法

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


我最初回答中的有用提示:

当编译成SWF时,场景只是在时间轴中一个接一个地固定,就像电影中的场景一样。如果在一个场景的结尾没有
stop()
,它将继续运行到下一个场景,就像电影一样。场景的概念是分离内容。这意味着sceneA中存在的内容在sceneB中不存在。这些场景也无法相互访问

我的建议是根本不要使用场景。它们很难正确使用,而且很少有使用时间线或Actionscript做得更好的用途

编辑:

好吧,在佛罗里达州的调查之后,我终于知道你做了什么。您右键单击“库”中的
滚动窗格
,然后单击“复制”。然后您给它起了一个名字
ScrollPane02
。只是复制过程没有将新对象连接到
滚动窗格的设置。相反,它创建了一个通用的
MovieClip
对象。由于它不是一个实际的
滚动窗格
,因此时间轴的Actionscript上的所有方法都将失败是有道理的

这就是解决方案(在下面的评论中)起作用的原因@AsheWormTurns在时间线上的两个实例中使用了第一个(实际的)
滚动窗格
;这是一个可行的解决办法

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


我最初回答中的有用提示:

当编译成SWF时,场景只是在时间轴中一个接一个地固定,就像电影中的场景一样。如果在一个场景的结尾没有
stop()
,它将继续运行到下一个场景,就像电影一样。场景的概念是分离内容。这意味着sceneA中存在的内容在sceneB中不存在。这些场景也无法相互访问


我的建议是根本不要使用场景。它们很难正确使用,而且很少有使用时间线或Actionscript做得更好的用途

仅根据你的信息,这应该是可行的。它可能与许多事情有关。你能提供更多关于你的场景内容的信息吗?或者甚至可以上传fla?嗨@rvmook我要上传这个文件。已经谢谢你了@bregina:问题可能在于您创建了ScrollPane02作为库符号。您可以使用与第一帧中相同的符号,并在“属性”面板中更改其名称。我自己没有CS5.5(我有CS4)。所以我无法打开你的fla。希望@ashewormturns建议能帮你。@bregina:我只是从你的库中删除了第二个组件,将第一帧中的组件复制到第二帧,并将其重命名为“ScrollPane02”。您不必在库中创建不同的组件:可以使用不同的实例名称(->属性面板)创建同一组件的多个实例。我在这里没有发现任何其他错误(可能你的错误与我所做的很少的更改无关)。仅根据你的信息,这应该是可行的。它可能与许多事情有关。你能提供更多关于你的场景内容的信息吗?或者甚至可以上传fla?嗨@rvmook我要上传这个文件。已经谢谢你了@bregina:问题可能在于您创建了ScrollPane02作为库符号。您可以使用与第一帧中相同的符号,并在“属性”面板中更改其名称。我自己没有CS5.5(我有CS4)。所以我无法打开你的fla。希望@ashewormturns建议能帮你。@bregina:我只是从你的库中删除了第二个组件,将第一帧中的组件复制到第二帧,并将其重命名为“ScrollPane02”。您不必在库中创建不同的组件:您可以使用不同的实例创建同一组件的多个实例
ScrollPane02.source = tekst03;
ScrollPane02.setSize(350,400);
ScrollPane02.move(0, 20);
ScrollPane02.scrollDrag = false;