发新话题
打印

[求救] 还是跳转和判断问题

还是跳转和判断问题

本人比较多问题,不要见怪。。。。。

预定义flag=1;
某帧里的代码:
if(flag==1)stop();
else{
  stop();
  var dl:Number;
  var n:Number;
  dlt = 1000;
  function delay() {
      gotoAndPlay(6);
      clearInterval(dl);
  }
  dl = setInterval(delay, dlt);
}

一个按钮上的代码:
on(release){flag=0;play();}

我想在执行到该帧时,即已经停止,按下按钮的时候可以执行else里面的代码,但以上代码只能直接执行下一帧,应该怎样修改?
前提是一定要判断flag

TOP

很长时间没来闪吧了  。
有些生疏。饿。。。
你的这个问题我看了下  发现几个问题  按 你的目的是要跳转帧 而结果是执行下一帧   问题出在 on(release){flag=0;play();} 里面的play();上   也许好长时间没怎么弄这些了  我trace 后发现 flag 只在按纽内为0 外面没变还是1   有些郁闷   还有个问题就是  你delay();函数的调用问题 我发现一直没被调用 放到外围的话   好象不用去限制flag=0       具体怎么样   我自己大概弄了  就这样  不知道有没有原文件

TOP

楼上的可以把代码或者程序贴一下不?
我随便弄了个文件测试过,果然没执行delay()里的语句,郁闷的是按了按钮不会重新执行当前帧,而且直接执行下一帧。
把随便弄的测试文件上传下

[ 本帖最后由 lty1986 于 2008-5-14 11:09 编辑 ]

附件

send.fla (48 KB)

2008-5-14 11:03, 下载次数: 27

TOP

楼主的代码我没明白什么意思 但是如果想让他执行的话只要把你上面的代码放在
onEnterFrame=function(){


里就可以执行了 因为你的代码执行的时候没有进入真的事件 所以单纯的他不会执行 我也是新手呵呵 多切磋把 终极讨厌斑竹看见的话 会给你解决的呵呵

TOP

新手

TOP

明显的delay();函数没有被调用,而执行下一帧是因为按纽代码中有play();的原因,我是这么认为的。

TOP

我已经自己解决了。。。
stop();
frame=_currentframe;
var dl:Number;
function delay() {
flag=0;
gotoAndPlay(frame+1);
clearInterval(dl);}
if(db==1&&flag==0){flag=1;}
else{dl = setInterval(delay, dlt);}

把自己研究的结果贴了下
http://space.flash8.net/bbs/viewthread.php?tid=354879&extra=page%3D2&frombbs=1

TOP

发新话题