Flash舞台中运动的对象,运动到任何一个地方,总会有一个运行时间和距原点的距离,如何实时地输出距离和时间呢?
笔者与大家分享一个自己的个人经验。
在舞台中创建一个影片剪辑元件bus,将其拖动到舞台中,作为运动的对象,在属性面板中将实例名称取名为“bus_mc”。
选择“文本工具”,在舞台绘制输出对象到原点距离值的动态文本框,在属性面板中将“实例名称”取名为“dis_txt”。
用上一步同样的方法,在舞台绘制输出对象运动时间的动态文本框,将实例名称取名为“time_txt”。
新建“代码”图层,打开动作面板。
首先,定义一个实型变量dis,用来存储对象距原点的距离。
接着,定义一个实型变量time,存储对象运行的时间。
定义一个整型变n,统计对象运行的帧数。
定义两个整型变量,设置对象X轴运动的速度和Y轴运动的速度。
然后,注册对象bus_mc的enterframe事件的侦听器,接收者函数为onmove。
定义侦听器函数onmove,参数ev为事件类型。
在函数中,定义一个点p,其坐标值就是对象bus_mc的坐标。
用对象的X轴坐标与X轴速度累加的方式,实现沿X轴方向的运动。
用对象的Y轴坐标与Y轴速度累加的方式,实现对象Y轴方向的运动。
计算出对象离原点的距离值,用length属性获取距离值。
计算对象运行的时间,因为该动画的帧频为24帧每秒,所以时间值为帧数除以24。
用n累加的方式,计算对象运行的帧数。
在舞台输出距离值和时间值,用toFixed函数取小数点后两位。
最后,更新显示。
运行程序,可以看到汽车从左上方运行到右下方,在右上方的方框中实时的显示汽车运行的距离和时间。
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!