2011-05-22 41 views
0

我刚开始阅读学习ActionScript 3.0的书。所以在第3章中,作者介绍了EventLinsteners。动作脚本和MovieClip - 如何联合几个动画片段?

有一个子标题事件传播。从作者开始创建到舞台上的文件夹,实例名称分别为Folder0和Folder1,并解释了Mouse_Over事件。比它说,如果你的舞台上有100个这样的文件夹,你将不得不为每个文件夹实例编写EventListener。所以他们介绍一些名称为folder_group的“奇怪的我”类型的实例,它就像1个MovieClip,但里面有几个MovieClip(我猜MovieClip是正确的参考)。

因此,不久之后,在本章的下一部分将介绍Author Events具有Unicycle的Frame Events子标题。那个独轮车也是一个单独的MovieClip。当你双击它时,它必须包含在其中的实例。主体实例和车轮实例。

那么,我该怎么做。如何创建其中包含多个不同部分的动画片段。当您双击它时,您将从Scene1 - >“某个名称”移动。

请别人,解释如何做到这一点......我试图谷歌它,但线索尚未。

还有一件事。什么是单独的ActionScript文件和FLA-S的ActionScript模式(我的意思是F9)

在此先感谢

回答

1

关于事件传播,你可以看看this link之间的差别,例如SWF显示冒泡/传播和回采传播

默认情况下,点击事件会传播,因此只要您将事件附加到顶级影片剪辑,您就可以在那里设置动作。

你可以试试这个简单的测试。创建一个名为“mc”的MovieClip,并在其中放入一些其他影片剪辑,使用此代码,只要您点击该mc内的任何内容,事件就会触发。如果你的名字,这些影片剪辑,你会看到的名字弹出,否则你应该看到的是这样的“实例#”

mc.addEventListener(MouseEvent.CLICK,onHit); 

function onHit(e:MouseEvent):void{ 
    trace(e.target.name); 
} 

有在。至于文件中的代码名字使得它容易得多码。例如,我在外部编辑器中编写了99.7%的编码,并且只使用Flash创建我的图形资源。 您可以使用所谓的documentClass,它扩展了用作舞台的默认MovieClip,Adobe帮助中的大多数示例都使用这些。对于快速测试,我只使用代码面板(F9)。最大的区别实在是编码这种方式(使用.as文件)是一个更容易和更快,尤其是像FlashDevelop中,FlashBuilder,FDT等


为您提供的FLA的IDE,你可以使用这对于文档类

package { 

    import flash.display.MovieClip; 
    import flash.events.MouseEvent; 

    public class FrameEvents extends MovieClip { 

     public function FrameEvents() { 
      cycle.addEventListener(MouseEvent.CLICK,onHit); 
     } 

     public function onHit(e:MouseEvent):void{ 
      trace(e.target.name); 
     } 
    } 
} 

你应该看到body当你点击身体追查,并wheel当你点击轮

+0

@Daniel感谢快速回复。感谢AS独立文件的解释和定义。我是这么想的,只是我想知道是否还有其他原因 - 谢谢你为我说清楚。 – mrGott 2011-05-23 09:40:40

+0

@Daniel 我还没有测试你在这里写的代码..我想我没有跟着你的代码。 您写过 - 创建名称为“mc”的MovieClip,并在其中放置一些其他影片剪辑 - 因此您使用的是代码。我在锻炼文件中有什么是在库中我有1个影片剪辑(也许是一个符号),它有两个部分。我上传了一个文件。如果可以,请检查它。并双击FLA文件中的独轮车示例。这就是我想要创造的。看到它,如果它和你写的一样。这是下一个评论中的链接。 – mrGott 2011-05-23 09:43:59

+0

[link](https://rapidshare.com/files/2952563497/FLA.rar)[/ link] – mrGott 2011-05-23 09:44:53

相关问题