flash as3 要怎么做延时,求教高手解答
要求和java里面的sleep();一样的效果。就是说想让他再那句代码后面暂停等待,他就会在那句后面。java代码System.out.println("等待1秒钟");...
要求和java里面的sleep();一样的效果。就是说想让他再那句代码后面暂停等待,他就会在那句后面。
java代码
System.out.println("等待1秒钟");
Thread.sleep(1000);
System.out.println("等待5秒钟");
int i=0;
Thread.sleep(5000);
System.out.println("---------------");
要求falsh实现和sleep()一样的效果,这些代码都是为了说明问题写的例子,并不是真正的要写的代码。
我以前提问过,可是大家都以为我要求的就是输出
等待1秒钟
"等待5秒钟
---------------
结果没有一个人看懂我的要求,他们给了我几个例子,有使用setInterval的,有使用setTimeout的也有使用定时器timer,可是给我的答案代码都是定时后,定时器调用一个函数。函数里面将System.out.println("等待1秒钟");写进去。
结果是出来了,可是我的代码也被破坏了,我要求的只是等待几秒钟后执行下一句,而不是,将下一句移到某个函数里面。这样的话,我在实际写代码的时候,被移到函数里面的代码就不是连接上一句的代码了。
function a() {
trace("等待1秒钟");
要求要延时1秒钟的代码(类似于java的sleep())在这延时函数没有到时间前,下面的代码不执行。
trace("等待5秒钟");
}
有高手能够做出来吗。我查了大量资料都没有找到解决方法,因为代码前后是有联系的,所以请不要将后面的代码写到一个函数里面,然后用定时器定时执行,这不是我要的。在定时器里面执行下面的代码,我也会,所以希望高手能够解答。setInterval,setTimeout,定时器timer的用法我都知道,但是他们都是独立于函数执行了,执行了这些他马上就会跳过去。
比如
function a() {
trace("等待1秒钟");
setTimeout(task,1000);
trace("等待5秒钟");
}
结果就是他就是开了线程直接等待1秒后执行task函数,它执行玩了 trace("等待1秒钟");,马上开等待线程,接着马上执行 trace("等待5秒钟");,前后代码执行是线程没有任何休眠,所以和sleep不一样。
要求的是和sleep一样休眠的作用,休眠期间后面的代码不执行,而且前后代码必须在同一个函数里面,这个函数也只能执行一次。是普通函数不是定时器的函数。 展开
java代码
System.out.println("等待1秒钟");
Thread.sleep(1000);
System.out.println("等待5秒钟");
int i=0;
Thread.sleep(5000);
System.out.println("---------------");
要求falsh实现和sleep()一样的效果,这些代码都是为了说明问题写的例子,并不是真正的要写的代码。
我以前提问过,可是大家都以为我要求的就是输出
等待1秒钟
"等待5秒钟
---------------
结果没有一个人看懂我的要求,他们给了我几个例子,有使用setInterval的,有使用setTimeout的也有使用定时器timer,可是给我的答案代码都是定时后,定时器调用一个函数。函数里面将System.out.println("等待1秒钟");写进去。
结果是出来了,可是我的代码也被破坏了,我要求的只是等待几秒钟后执行下一句,而不是,将下一句移到某个函数里面。这样的话,我在实际写代码的时候,被移到函数里面的代码就不是连接上一句的代码了。
function a() {
trace("等待1秒钟");
要求要延时1秒钟的代码(类似于java的sleep())在这延时函数没有到时间前,下面的代码不执行。
trace("等待5秒钟");
}
有高手能够做出来吗。我查了大量资料都没有找到解决方法,因为代码前后是有联系的,所以请不要将后面的代码写到一个函数里面,然后用定时器定时执行,这不是我要的。在定时器里面执行下面的代码,我也会,所以希望高手能够解答。setInterval,setTimeout,定时器timer的用法我都知道,但是他们都是独立于函数执行了,执行了这些他马上就会跳过去。
比如
function a() {
trace("等待1秒钟");
setTimeout(task,1000);
trace("等待5秒钟");
}
结果就是他就是开了线程直接等待1秒后执行task函数,它执行玩了 trace("等待1秒钟");,马上开等待线程,接着马上执行 trace("等待5秒钟");,前后代码执行是线程没有任何休眠,所以和sleep不一样。
要求的是和sleep一样休眠的作用,休眠期间后面的代码不执行,而且前后代码必须在同一个函数里面,这个函数也只能执行一次。是普通函数不是定时器的函数。 展开
3个回答
展开全部
就我目前对AS的了解来看,AS不提供这样的方法,一个函数里的所有语句,如果没有附加任何执行的条件,那么这些语句是一起被编译,可以说是同时被执行的,不管你在中间加了什么语句,这些语句都只能被执行一次,而且几乎是同时执行。所有需要延时的语句基本都是通过Timer或者ENTER_FRAME侦听器达到的,这两种方法基本上可以满足所有的需求了。AS3.0相对来说是一个比较简单的语言,如果你想用AS3.0,就应该试着接受AS3.0的思想,而不是把java或者其他语言的思想套进去。
展开全部
Flash的工作机制就是把一帧内的代码全部执行完毕后再输出,所以你让它等你几秒再执行下面的代码然后再输出,这样恐怕要联系adobe去改flash了。
在Flash里实现这样的效果只需要把相应代码放在两个帧里就可以实现,何必要那么麻烦!一条路不通就走另一条路,只要能到达目标就可以。
在Flash里实现这样的效果只需要把相应代码放在两个帧里就可以实现,何必要那么麻烦!一条路不通就走另一条路,只要能到达目标就可以。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
明知不可为而为之,精神可嘉!做法愚蠢!!
查大量资料,首先应该查有无这个可能性,如果没有,再多也是浪费。
查大量资料,首先应该查有无这个可能性,如果没有,再多也是浪费。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询