了解Flash / Actionscript以创建包含许多页面的应用程序

时间:2012-03-11 23:18:07

标签: flash actionscript

我计划创建一个由别针保护的照片/视频库。 所以我计划有4个页面,登录,菜单,图像页面和视频视图。 登录将是一个简单的文本框,我检查引脚。 菜单会显示我使用可点击的精灵或按钮或类似内容创建的列表中的所有图片专辑和视频。还有一个视频视图,如果我点击菜单页面上的视频链接,将显示视频。

我尝试在flash cs5中准备场景,所以我决定创建4帧。 ALl页面有自己的图层。第一个是登录,第二个是菜单,第三个是图像视图(包括缩略图显示和全屏视图弹出)和视频视图。在每个关键帧上,我放置了一个矩形,将其转换为一个MovieClip,作为主容器,所有内容都会进入。

现在我尝试通过在每次调整舞台大小时调整它们的大小来初始化所有这些MovieClip。为此,我得到错误,一些MovieClip为空。这是因为MovieClip仅存在用于图像页面的关键帧2或用于图像页面的关键帧3以及用于视频视图的关键帧4。因此,我必须将它们全部放入关键帧1才能访问。但我创建了4个关键帧,因为我想通过使用“gotoAndStop(n)”跳转到它们,其中n代表关键帧2,3或4。

我不明白,Flash如何解释代码以及这些MovieClip的可见性如何。我是否只能从关键帧2访问MovieClip,因为我只在关键帧2上添加了它?有一个简单的4页应用程序的最佳解决方案是什么在第1页(菜单)我点击视频链接,其中包含视频的某种ID,然后我跳转到关键帧4的视频视图,为其提供该ID,但是当Actionscript甚至不知道有一个视频容器MovieClip时如何做到这一点。为了让Actioscript知道所有这些,我必须将它们移动到关键帧1,然后如何进行分页。

从我的项目中查看以下屏幕截图。它显示了时间轴,包含4个关键帧。如您所见,每个图层有4个帧,但MovieClip只有1个关键帧。我想我不需要添加4个关键帧,是吗?

Timeline screenshot from my Flash Video/Photo Gallery Project

之前我做了一个简单的照片库,但我只使用了一个关键帧来处理所有内容,所以我在访问所有MovieClip时没有任何问题,因为我不需要进行任何跳转/分页。我想将每个页面分成单独的关键帧,但能够通过Actionscript访问其中的内容。我误解了Actionscript的工作方式吗?

提前致谢。

2 个答案:

答案 0 :(得分:2)

我会停止使用多个帧(只有1个)并将每个“页面”扔到自己的MovieClip中。然后我会在需要时只制作当前页面loginPageInstanceName.visible = true和其余menuPageInstanceName.visible = false等等,或者甚至根据需要初始化每个页面movieClip。

就个人而言,拥有多个框架的代码让我疯狂。我会在顶级只有一个地方生成所有代码,最好是在你的swf的自定义文档类中,或者在第一帧的顶层,就像你的“Action”层一样。然后我会在它自己的类中抛出特定于每个“Page”的代码,或者在它的“export to actionscript”定义的类中,或者以与相应MovieClip的“Action”层中的顶级代码相同的方式。

我希望有所帮助。

答案 1 :(得分:0)

简短的回答, 首先创建一个movieClip(),然后在其中单击,删除其内容现在开始在该时间轴上再次生成相同的内容,但将所有代码放在主时间轴上,并引用实例名称,例如

  AllmyClips.gotoAndStop(1);
  // allMyClips is the instance name 

  if(allMyClips.textbox1.text == "bob" && allMyClips.passwordbox.text == "thispassword"){
      AllmyClips.gotoAndStop(2);
    }

它只是简单的button1.addEventListners并在函数()中抛出上面的内容;

现在所有的变形都可以是全局的并且很容易运行如果你可以在某处上传fla并且我会为你修复它,我很无聊,所以没有问题,你不应该在后台有大的隐形剪辑