zoukankan      html  css  js  c++  java
  • As3 暂停动画

    在游戏中,暂停是一项基本功能。如何在AS3.0中实现对游戏的暂停,是本文探讨的内容。

       Flash游戏涉及的元素相当多,有时间轴驱动的动画,有代码驱动的动画,还有各种侦听器,如果要针对每一个元素逐个进行停止操作太过于繁杂,我近日在网络上得知了一种“快刀斩乱麻”的方法,即最简单的stage.frameRate=0。将帧速降为0后,所有的动作都会相应停止。我在此基础上进行了一系列测试,其中有一些细节与大家分享。

    2014年04月15日
       这是测试界面,下面是对应的代码,相当简单。

    1、timerbox添加了时间侦听,将在第三秒被删除。

    2、剪辑box是一个普通的影片剪辑,在影片剪辑中box元件从左到右进行普通的补间运动。

    3、下面的box添加了ENTER_FRAME侦听,向右移动。

    4、上方是时间触发的动态文本,每隔一秒数字会加一。

    5、最下方是按钮,控制着影片的帧速率。
    2014年04月15日
    以下是运行截图

    2014年04月15日

    在第一秒按下B1暂停按钮,可以成功暂停。三秒后timerbox没有消失,mytext的数值仍然为1。其他元件也没有变化

    2014年04月15日

       如果在三秒之后按下B2恢复按钮,timerbox会瞬间消失,而不是在预想的2秒之后消失(因为程序设置在第三秒使其消失,如果在第一秒暂停,无论何时恢复,都应该在恢复之后的二秒后消失)而且mytext也是瞬间跳转到下一个数字。因此当frameRate=0后,计时器仍然会工作,但是当计时器到达侦听时间后,不会调用相关的函数,而是会在恢复的一瞬间调用。
    2014年04月15日

    而且framerate实际上有最小值0.01.即使强制设置frameRate=0,影片仍然在以0.01的帧速率进行,因此影片会在“暂停”后的某一时间突然变化,如上图。

       综上,使用frameRate=0来暂停影片是不完善的,不建议在元素比较复杂的flash影片中使用。我会继续关注flash影片暂停的方法,也希望各位网友不吝赐教。
    原帖地址:http://itgroup.blueshop.com.tw/ann71727/ann71727?n=convew&i=7351

  • 相关阅读:
    【转】关于GRIB数据的处理
    [转载]国际gis遥感杂志
    【转】linux后台运行和关闭、查看后台任务
    OpenXML: excel 插入BarChart图表
    利用.Net Framework2.0 zip压缩、解压 string 数据
    C# 常见面试题(2)
    'String or binary data would be truncated' error message
    Openxml: 导出excel 设置 cell的格式
    OpenXML: Asp.net利用OpenXML 导出Excel.
    C#中文和UNICODE字符转换方法
  • 原文地址:https://www.cnblogs.com/dt1991/p/15247121.html
Copyright © 2011-2022 走看看