2

再会。我正在为我们的游戏创建一个类似于 flash 文件的库。我正在使用带有 as3 和 adobe indesign 的 adobe flash cs5。我对 Flash 还是很陌生(一个真正的新手),我想知道是否有人可以帮助我解决我的问题。

描述:

我有一个名为“mainPage”的影片剪辑文件。mainPage 包含 6 个按钮(采用水晶设计),但只关注 1 个按钮。第一个按钮包含名称 Art_btn 在单击按钮时调用movieclip artBook(这是我的问题)。我有另一个名为“artBook”的影片剪辑。我的画册中的内容是分开的或写在每一帧上,当点击下一个或上一个时可以调用这些帧。

这是我的问题。我不知道单击 Art_btn 时调用 artBook 的正确代码是什么。我尝试插入诸如 loadMovie、gotoAndPlay 和 addChild 之类的代码,但是当我测试它时,mainPage 内容不显示并且会产生错误。

我有两种选择来解决我的问题:

  1. 在 flash cs5 的操作选项卡中加载由 adobe indesign 制作的 swf 文件

  2. 单击按钮时加载/打开另一个影片剪辑。


我的第一个选项的目的是为这本书创建至少一个简单的翻页效果。我已经在 adobe indesign 上创建了在 Flash adobe cs5 外部打开时可以使用的文件

我的第二个选择是当我按下一个特定的按钮时调用另一个电影剪辑,它没有翻页动画等等。


这是我闪存中唯一的代码,位于 mainPage 的操作面板中

stop();

import flash.events.MouseEvent;

Art_btn.addEventListener(MouseEvent.CLICK, ArtClick);

function ArtClick(event:MouseEvent){
 //what should be put here? :( here is where i put the codes i tried that causes the error

}

我希望有人能帮助我。:(如果它可以工作,我将非常感激。提前感谢那些回答的人

4

1 回答 1

1

以下是如何完成选项 1(加载外部 swf):

var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, handleLoaded);
loader.load(new URLRequest("nameAndLocationOfSWFFile.swf"));

function handleLoaded(evt:Event):void {
   //evt.target.content is your reference to the swf that was loaded
   addChild(evt.target.content);
}

至于选项 2,这取决于您尝试完成任务的方式。根据您的描述,我不确定您尝试的确切意图或方法是什么,但您可以将您的影片剪辑添加到舞台上的不同帧,或者您可以创建一个影片剪辑的新实例。

要使用不同的帧,只需将您的电影剪辑放在舞台上的不同帧上并给该帧一个标签。然后,您可以从内部ArtClick()调用gotoAndStop("myTargetFrameLabel")

要创建影片剪辑的新实例,您需要设置与影片剪辑的链接。如果你给你的movieclip指定ArtBook的链接类名,你可以在下面使用ArtClick()

var myClip:MovieClip = new ArtBook();
addChild(myClip);

这将向舞台添加一个新的 ArtBook 实例。

于 2011-09-05T05:09:07.557 回答