美术同事出了一个资源,大致是这样的:四个角色形象动画,聚在一个台子四周。有一个向左和向右按钮,点击后四个形象分别向对应的方向旋转后将其中一个推到正面,表示当前选中的的角色形象。具体资源是,使用了一个圆形的引导线,每次点击使用逐渐变化的6帧表示这个旋转。4段动画,共计24帧。
尝试一:
我创建了一个代码脚本层,把代码写在第一帧上了。不爽的事情发生了,每次旋转一圈后,这段代码的全局变量就会被重新初始化。。。。。
尝试二:
使用文档类,却发现我这个资源只是库元件。文档类也帮不上我。
尝试三:
额外使用一个MC,将上面的24帧MC元件放在一层中,另外再创建一层放代码,使用引用名字如figureMc来控制这个24帧动画的行为。目前看起来一切正常~~
附代码:
//2011.10.17 xu.cui
rotateFigure.stop();//rotateFigure是旋转动画
var beginFramesArray:Array = [1,7,13,19];//四段动画的起始帧
var endFramesArray:Array = [6,12,18,24];//四段动画的结束帧
var position:int = 0;//标记箭头点击位置(向右加1,向左减1)
var curEndFrame:int = 0;//当前段的动画开始播放后,在哪一帧结束
var direction_isNext:Boolean = true;//标记箭头方位(默认向右)
pre.addEventListener(MouseEvent.CLICK, preClickHandler);
next.addEventListener(MouseEvent.CLICK, nextClickHandler);
function preClickHandler(event:MouseEvent):void{
direction_isNext = false;
position --;
playMc(position);
trace("position:"+position);
}
function nextClickHandler(event:MouseEvent):void{
direction_isNext = true;
position ++;
playMc(position - 1);//因为起始默认值为0,所以需要减1
trace("position:"+position);
}
function figureType():int{
return position % beginFramesArray.length;
}
function playMc(posi:int):void{
var remainder:int = posi % beginFramesArray.length;
if(remainder < 0){
remainder += beginFramesArray.length;
}
if(direction_isNext){
rotateFigure.gotoAndStop(beginFramesArray[remainder]);
curEndFrame = endFramesArray[remainder];
}else{
rotateFigure.gotoAndStop(endFramesArray[remainder]);
curEndFrame = beginFramesArray[remainder];
}
//trace("remainder:" + remainder + ",curEndFram:" + curEndFrame);
rotateFigure.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
}
function enterFrameHandler(event:Event):void{
//trace("currentFrame:" + rotateFigure.currentFrame);
if(direction_isNext){
rotateFigure.nextFrame();
}else{
rotateFigure.prevFrame();
}
if(rotateFigure.currentFrame == curEndFrame){
rotateFigure.removeEventListener(Event.ENTER_FRAME, enterFrameHandler);
}
}
分享到:
相关推荐
在AS3代码中,可以通过编写脚本来模拟这些效果,实现更灵活的控制。 4. **运动路径**:通过定义曲线路径,可以引导对象沿特定路线移动。使用Point对象和CurveTo()方法可以创建自定义路径,使动画更加生动有趣。 5....
4. **动画控制**:AS3提供了一些方法来控制动画,如` ENTER_FRAME`事件,当每一帧开始时触发,适合做连续动画。此外,`gotoAndPlay()`和`stop()`函数可以用来跳转到特定帧并播放或停止动画。 5. **GIF编码库**:...
AS3提供了一种更为精细的动画控制方式,允许开发者通过代码动态地创建和控制动画,而不是仅仅依赖于时间轴。这包括但不限于: - **Tween类**:使用Tween类可以创建非线性动画效果,如缓入缓出,为动画添加更自然的...
在AS3中,我们可以利用时间轴和帧来控制动画的播放。 在"重力球"项目中,每个球体的运动状态由其位置、速度和加速度决定。其中,加速度是由重力常量引起的,通常在二维环境中为9.8(m/s²)。在每一帧,我们都会...
通过这些方法,你可以更好地控制帧动画的行为,以满足你的应用需求。 总的来说,`FAImageView`是一个为Android开发者提供便利的库,它使得在代码混淆环境下播放帧动画变得简单可靠。通过这个库,你可以专注于应用...
总的来说,AS3颜色过渡动画涉及了面向对象编程、`ColorTransform`类的使用、时间轴控制以及帧动画等概念。开发者通过这些技术,能够创造出动态且引人入胜的视觉效果,为用户带来更加生动和有趣的交互体验。
3. 时间轴事件:AS3提供了关键帧、动作脚本和时间轴控制,允许开发者精确地控制动画播放。例如,通过stop()和play()函数,可以实现动画的暂停与播放。 三、显示列表 4. 显示对象:DisplayObject是AS3中的基础显示类...
通过使用这样的帧动画控制类,开发者可以更加灵活地设计和控制动画效果,提升用户体验。同时,它也降低了代码的复杂性,使项目更容易维护和扩展。对于AS3的开发者来说,理解和掌握这种类的使用,无疑会提高他们在...
【标题】"乒乓球AS3源代码...6. 探索Flash IDE的使用,以及如何在FLA文件中嵌入和调用AS3代码。 通过这个项目,初学者不仅可以提升AS3编程技能,还能积累游戏开发的实际经验,为将来创建更复杂的游戏打下坚实基础。
1. **时间轴控制**:了解帧、层和关键帧的概念,以及如何通过时间轴来创建和控制动画。 2. **动作脚本基础**:学习AS3的变量、数据类型、运算符、流程控制语句(如if-else、for循环)以及函数。 3. **显示对象**:...
在Flash中,基于时间帧的动画是一种常见的动画制作方法,它允许开发者通过脚本来精确控制动画的时间流逝和帧序列。这种技术尤其适用于那些需要动态交互和复杂动作序列的项目。以下是对这一主题的详细讲解: 一、...
在Flash中,可以利用时间轴来创建帧动画,但通过AS3.0,开发者能更精细地控制动画的时间轴,例如使用` ENTER_FRAME `事件监听每一帧的变化,或者使用` Tween `类平滑过渡物体的位置、大小、透明度等属性。...
2. 关键帧:在动画的关键时刻设置关键帧,便于控制动画流程。 3. 对齐与缩放:在制作过程中注意元素的位置和大小,保持一致性以保证动画的连贯性。 4. 动画优化:避免过多的逐帧动画导致文件过大,可以考虑使用形状...
本主题将深入探讨如何使用AS3控制Flash影片按倒序播放。Flash中的时间轴和帧序列是关键概念,而AS3允许我们通过编程方式控制这些元素。 1. **理解Flash的时间轴和帧** Flash的时间轴是一系列帧的集合,每一帧都...
- 时间轴和帧:在Flash中,时间轴控制动画的播放,帧则是动画中的时间单位。 2. **实现原理**: - 雨滴对象:创建一个自定义的Sprite或MovieClip类,代表单个雨滴。这个类可能包含位置、速度、大小等属性,以及...
通过上述代码的详细解读,我们可以清楚地了解到如何使用AS3代码实现滤镜动画效果的具体步骤和技术细节。掌握这些技巧不仅能够帮助开发者在Flash项目中加入更丰富的视觉元素,还能提升用户界面的互动性和吸引力。希望...
标题 "as3 动画类库备份" 指向的是一个使用ActionScript 3(AS3)编写的动画库,这种库通常用于Flash开发,为开发者提供了方便的动画处理功能。AS3是Adobe Flash Professional、Flash Builder等工具支持的编程语言,...
" Wendang " 这个标签可能是指文档或者资料的意思,暗示着压缩包内包含的是关于AS3动画的教程、示例代码或者是相关资源的文档。通常,这类文档会涵盖AS3动画的基础知识、进阶技巧、实例解析等内容,有助于学习者或...
总的来说,"FLASH AS3正方体动画"这个主题涵盖了许多基础的AS3编程和动画原理,包括类的使用、图形绘制、事件处理和基于时间的动画。尽管描述中将其描述为“无聊”,但这些都是制作更复杂交互式内容的基础,对于深入...