8.4.5 渐变闪动
来源:互联网 发布:windows系统补丁下载 编辑:程序博客网 时间:2024/05/16 19:04
当显示对象在完全显示和完全消失之间切换,形成了闪动效果。当闪动两种极限状态之间存在过渡状态,则形成了渐变效果。当显示对象从完全显示淡出,直至完全消失,然后又从完全消失状态淡入,回复到完全显示,如是周而复始,就形成了交迭渐变闪动(参考图)。
使用现有模块,在例8-4中实现交迭渐变闪动是非常容易的。
(1)为了控制轨迹的走向,需要先声明一个新的变量fadeStep。并在fadeInOut()函数中,同animObject1.alpha一起作为参数传递。
var fadeStep:Number;
……
animObject1.alpha=fadeInOut(animObject1.alpha,fadeStep);
……
(2)当fadeStep为-0.05时,对象animObject1将会淡出;判断animObject1.alpha的值,在对象消失后,重设fadeStep为0.05,则对象animObject1将会淡入,直至animObject1.alpha==1,判断并再次将fadeStep设为-0.05,即完成了一个交迭渐变闪动的周期。
if(animObject1.alpha==1){
fadeStep=-0.05
}
if(animObject1.alpha==0){
fadeStep=0.05
}
animObject1.alpha=fadeInOut(animObject1.alpha,fadeStep);
(3)考虑到变量的作用域,需要在定时器开始之前声明fadeStep全局变量,并为其赋予初始值。这样,在定时器触发响应函数中,fadeStep的值可以保持稳定。
如果将fadeStep声明在了定时器触发响应函数中,则默认作为一个局部变量,每次执行都会被创建和删除,就无法起到应有的作用了。如果一定要使用在定时器触发响应函数中声明的变量,则必须增加更多的验证代码,读者可自行尝试。
完整代码段如下:
var animTimer:Timer = new Timer(50, 100);
animTimer.addEventListener("timer", animTimerHandler);
animTimer.addEventListener("timerComplete", animComplete);
var fadeStep:Number=0.05;
animTimer.start();
function animTimerHandler(event:TimerEvent):void {
//动画代码编写入口
if (animObject1.alpha==1) {
fadeStep=-0.05;
}
if (animObject1.alpha==0) {
fadeStep=0.05;
}
animObject1.alpha=fadeInOut(animObject1.alpha,fadeStep);
}
function animComplete(event:TimerEvent):void {
animObject1.alpha=1;
}
//说明:fadeInOut()实现线性轨迹的淡入淡出计算。
//参数:obj_attr为对象属性;change-rate为变化速率,正为淡入,反之淡出;max_value为对象属性取值范围。
//返回值:计算后的属性值,从0到1之间的小数。
// function fadeInOut(obj_attr:Number,change_rate:Number, max_value:Number=1):Number{}
//版本1.0
function fadeInOut(obj_attr:Number,change_rate:Number,max_value:Number=1):Number {
var temp_attr:Number;
temp_attr=obj_attr+change_rate;
temp_attr=temp_attr/max_value;
if (temp_attr<=0) {
temp_attr=0;
}
if (temp_attr>=1) {
temp_attr=1;
}
return temp_attr;
}
千里之行,始于足下。深刻理解和掌握功能程序模块的写法,打好基础,步步为营,日后开发具有万行代码规模的项目也并非遥不可及的事。
(4)运行程序,可以看到对象animObject1在舞台上交迭淡入淡出,相当平滑完美。其周期轨迹如图所示:
- 8.4.5 渐变闪动
- 8.4.6 透明度渐变
- 闪动标题栏
- 任务栏闪动
- 头像闪动
- 闪动文字效果
- 5、透明度渐变
- 渐变
- 渐变
- 渐变
- 渐变
- 渐变
- 渐变
- 渐变
- 渐变
- 渐变
- 渐变
- 渐变
- 8.4.3 模块的封装
- Netron Graph开源项目网站
- 8.4.4 淡入淡出模块
- template 的用法
- AndroidManifest.xml解析
- 8.4.5 渐变闪动
- 搜索引擎介绍
- 收藏邹建大哥的存储过程通用分页
- 设计模式中结构型模式(三)组合模式(Composite)
- 开源代码搜索引擎介绍
- 2分法-通用存储过程分页
- nebato-我的最新网站
- 什么是ODF/UOF
- 例解 autoconf 和 automake 生成 Makefile 文件(推荐) - Pan-Graph Inc., C++ DeveloperWork - 博客园