Flashlizi's blog-专注Flash相关开发
posts - 22, comments - 17, trackbacks - 0, articles - 0
IT博客
::
首页
::
新随笔
::
联系
::
聚合
::
管理
AS2:利用Object.watch来控制函数执行队列
Posted on 2007-09-10 15:53
flashlizi
阅读(265)
评论(0)
编辑
收藏
引用
很多时候,我们需要按照一定顺序执行一系列动作,必需保证一个动作完全执行完毕后再执行另外一个动作。解决办法很多,比如执行完一个动作就广播一个事件,再执行下一个动作。
现在我们利用Object.watch方法来实现这个目的(不熟悉相关方法的请看帮助),代码示例:
var func
=
[func1, func2, func3];
var listener
=
{success:
false
}
;
listener.watch(
"
success
"
, callFunc);
var i
=
0
;
exec(
0
);
function exec(i)
{
if
(i
<
func.length)
{
func[i]();
}
else
{
lietener.unwatch(
"
success
"
);
}
}
function callFunc(prop, oldVal, newVal)
{
trace(prop
+
"
{oldVal:
"
+
oldVal
+
"
newVal:
"
+
newVal
+
"
}
"
);
if
(newVal
==
true
)
{
i
++
;
exec(i);
}
return
oldVal;
}
function func1()
{
var id1
=
setInterval(aa,
1000
);
function aa()
{
txt.text
=
"
1:exec func1
"
;
clearInterval(id1);
listener.success
=
true
;
}
}
function func2()
{
var id2
=
setInterval(bb,
1000
);
function bb()
{
txt.text
=
"
2:exec func2
"
;
clearInterval(id2);
listener.success
=
true
;
}
}
function func3()
{
var id3
=
setInterval(cc,
1000
);
function cc()
{
txt.text
=
"
3:exec func3
"
;
clearInterval(id3);
listener.success
=
true
;
}
}
在此例中,实现了队列执行三个函数func1,func2,func3,每个函数的动作都是间隔1s后改变txt中的文本内容。恰好,我们利用了Object.watch方法来监控success属性,每当一个func[i]执行完毕后,就会改变success为true,继而执行下一个函数。此方法比和事件侦听是同一原理,在某些情况下又更为简洁实用。
只有注册用户
登录
后才能发表评论。
Powered by:
IT博客
Copyright © flashlizi
日历
<
2007年9月
>
日
一
二
三
四
五
六
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
公告
因ZF禁止私自开设互动性质网站的原因,本人原来的blog网站:www.flashrek.com无限期暂停。而且虚拟空间访问速度慢,故在此开博,以后所有文章均在此发布。
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(3)
给我留言
查看公开留言
查看私人留言
随笔分类
(20)
AIR(1)
AJAX(5)
AS2(6)
AS3(7)
AS3设计模式(1)
Flex
随笔档案
(22)
2007年12月 (1)
2007年11月 (4)
2007年10月 (1)
2007年9月 (16)
搜索
最新评论
1. re: Input的特殊事件onpopertychange和oninput
事实上是事实是事实飒飒
--发发发发发发发发发发发发发发发发发发发发
2. re: Input的特殊事件onpopertychange和oninput
fefefe
--fefe
3. re: 在firefox中获取网页里的SWF对象
评论内容较长,点击标题查看
--17作业
4. re: AS3设计模式之一:单例模式(Singleton Pattern)
总结的很好,分享到我的博客喽!
--老姜
5. re: 游戏开发者的AS3数据结构
HAO
--GGGG
阅读排行榜
1. Input的特殊事件onpopertychange和oninput(7233)
2. AS3设计模式之一:单例模式(Singleton Pattern)(3642)
3. FlashTail:简单实用的Actionscript调试工具(3128)
4. 游戏开发者的AS3数据结构(3122)
5. 在firefox中获取网页里的SWF对象(3021)
评论排行榜
1. 谈谈Actionscript中的惰性函数定义模式(Lazy Function Definition)(6)
2. FlashTail:简单实用的Actionscript调试工具(4)
3. AS3设计模式之一:单例模式(Singleton Pattern)(2)
4. Input的特殊事件onpopertychange和oninput(2)
5. AS2:实现动态文本的描边及阴影效果(1)