分阶段创建复杂的Flash翻转(循环>翻转动画>定时动画)

分阶段创建复杂的Flash翻转(循环>翻转动画>定时动画),flash,actionscript-3,Flash,Actionscript 3,好吧,现在事情变得有点复杂了。 我需要建立一个Flash对象,可以坐在一个图像的角落,以提供额外的内容。 这远远超出了我的Flash技能水平,我的工作通常仅限于Photoshop和Illustrator中的打印工作,因此,如果以下任何内容不清楚,请原谅。我正在努力学习,所以任何正确方向的指点都将不胜感激 这就是它的工作原理,还有我的问题 当图像和Flash项目加载时,将播放一个小循环动画,以吸引眼球/将项目显示为交互式。 当用户翻滚到这个角上时,角将向后剥离。我有一个用于滚动的可工作的“peel

好吧,现在事情变得有点复杂了。 我需要建立一个Flash对象,可以坐在一个图像的角落,以提供额外的内容。 这远远超出了我的Flash技能水平,我的工作通常仅限于Photoshop和Illustrator中的打印工作,因此,如果以下任何内容不清楚,请原谅。我正在努力学习,所以任何正确方向的指点都将不胜感激

这就是它的工作原理,还有我的问题

当图像和Flash项目加载时,将播放一个小循环动画,以吸引眼球/将项目显示为交互式。 当用户翻滚到这个角上时,角将向后剥离。我有一个用于滚动的可工作的“peelback”动画,该动画会对鼠标悬停/鼠标关闭做出反应,还有一个用于初始的循环动画,但我无法确定如何在鼠标悬停之前进行初始循环,然后在鼠标悬停时播放“peelback”。如果用户退出,则返回初始动画循环。每个动画都作为电影剪辑存储在库中

然后它变得更复杂。。。如果用户待在角落里,直到它完全被剥离,我需要做一个小的倒计时,类似于3,2,1情景秀,在启动lightbox之前,这必须是jQuery,还是可以在Flash中完成?在浏览器中为内容提供服务

感谢任何人能够提供的任何帮助,无论是其中的任何一部分。就像我说的,我正在尽我最大的努力学习,所以任何解释都将不胜感激

更新:根据OP的意见,下面概述了一个新的建议解决方案

我在下面写了一个经过改进但未经测试的解决方案。因为您对Flash比较陌生,所以我添加了一些小迂回,希望能够澄清ActionScript3的部分工作原理,特别是在事件处理方面

从现在开始,我将如何设置您的主要FLA时间线:

在主时间线上创建4个层-动作、热点、循环和卷曲,按从上到下的顺序 在热点层上,创建一个覆盖剪辑可移动区域的矩形。将矩形的颜色设置为alpha=0,并删除其所有边框。然后将其转换为MovieClip符号,并将stage实例命名为hotspot\u mc。 将循环MovieClip放在循环层上,并将其命名为loop\u mc。 将curl MovieClip放在curl层上,并将其命名为curl\u mc。 沿以下线条将代码添加到动作层的第一个关键帧: 。。。最后,在倒计时序列之后的curl_mc时间轴的最后一帧上,将以下代码添加到该时间轴的动作层上的关键帧:

import flash.events.Event;
dispatchEvent(new Event('curlComplete'));
stop();


//dispatchEvent() is a function that sends an event out to be 
//handled by any listening handler functions (like the ones on 
//frame 1 of the main timeline).  dispatchEvent() accepts an Event 
//as a parameter, which we create new for this purpose.  In turn, 
//when creating a new Event, you pass in the name of the event so 
//that handlers can tell them apart.  This matches the event name 
//passed in to addEventListener(eventName, eventHandler, false, 0, true).

//This is how event handlers basically work in AS3.  By putting this 
//code on the last frame of curl_mc, we use a new event to signal to 
//our application that the curl animation is done.
当然,对这种情况进行编码的方法不止一种。然而,通过这种方法,您可以看到如何从应用程序的一个区域创建和分派事件,并让您在不同的位置编写的函数处理这些事件

原始答复:

我不知道如何使初始循环,直到鼠标经过,然后在鼠标结束时播放“peelback”。如果用户退出,则返回初始动画循环

使用ActionScript函数gotoAndPlay和gotoAndStop

可以使用这两个函数创建循环和控制动画的播放。例如,如果创建关键帧,选择它并打开“动作”窗口,则可以添加以下动作脚本:

gotoAndPlay(1);
一旦播放头到达该关键帧,时间轴将跳转到第1帧并从第1帧开始播放。这将创建从第1帧到关键帧的无限播放循环。每次播放头点击此关键帧时,它都会跳回并重新启动

如果在时间线上定义了帧标签,也可以使用帧标签,例如:

gotoAndPlay('rolloverStart');
gotoAndStop的工作方式相同,只是它将跳转到给定帧并在那里停止动画

如果用户待在角落里,直到它完全被剥离,我需要做一个小的倒计时,类似于3,2,1情景秀,在启动lightbox之前,这必须是jQuery,还是可以在Flash中完成?在浏览器中为内容提供服务

只是澄清一下,有两个功能需要执行:

当用户将鼠标悬停在热点的拐角处时,将开始播放第二个动画,并在完成后执行操作

Flash必须在网页上升起一个灯箱

Re:函数1,我能想到的最简单的方法是将倒计时动画添加到滚动动画的末尾。这将有效地创建一个长滚动动画,并在动画的末尾添加一个动作

Re:函数2,您可以使用Flash调用Javascript函数,包括一个显示lightbox的函数。在倒计时动画结束时,可以添加关键帧并使用以下ActionScript 3代码:

import flash.external.ExternalInterface;
ExternalInterface.call('JS_ShowLightbox');
如果您的网页中有一个名为JS_ShowLightbox的Javascript函数,那么当Flash到达该关键帧时将调用该函数

嗯,


罗斯

谢谢,这似乎是个好主意
开始的地方。作为一个新手,我非常感谢所有的解释。关于这一切,我的一个问题是关于第一部分,循环和剥离。我在库中将每个设置为电影剪辑,循环在关键帧1中,而回切在关键帧2中。将它指向那些关键帧似乎并不能让那些MC发挥作用。有没有其他的方法来引用它们或其他什么?你可以通过调用play和/或gotoAndPlay,并使用ActionScript对它们进行播放,从而让这些电影嘴唇播放。你在时间线上的电影唇首先需要名字来访问它们。例如,第1帧上的循环和第2帧上的滚动。然后在第1帧上的动作帧中,可以在第2帧上调用loop_mc.play和rollover_mc.play。在每一个MovieClips中,您都需要为ExternalInterface.call等的答案设置动作关键帧。此外,我忽略了您关于鼠标事件的部分问题。您是否掌握了如何使用MouseEvent和addEventListener函数设置鼠标滚动和卷展功能?通过研究我已经拥有的滚动/滚动功能,我有了一些线索。我今晚要把这个带回家,试着解决它。边做边学,这就是他们说的……好吧,我正在努力解决这个问题。这是我尝试进行滚动的代码,我做错了什么?loop_mc.addEventListenerMouseeEvent.ROLL_OVER,manageMouseOver,false,0,true;函数manageMouseOverevent:MouseEvent:void{gotoAndPlaycurl_mc}
import flash.external.ExternalInterface;
ExternalInterface.call('JS_ShowLightbox');