Flash循环定义onEnterFrame出的问题,高分!

functionvoteban():Void{varj:Number=1;varcurrentwidth:Number=0;trace("candidatenum"+_r... function voteban():Void{
var j:Number=1;
var currentwidth:Number=0;
trace("candidatenum"+_root.candidatenum);
while(j<=candidatenum)
{
_root.fk.duplicateMovieClip("fk"+j,this.getNextHighestDepth());
_root["fk"+j]._x=20;
_root["fk"+j]._y=20+j*20;
////
currentwidth=votenumarray[j-1];
_root["fk"+j].onEnterFrame=function()
{
if(this._width<currentwidth)
this._width=this._width+1;
if(this._width==currentwidth)
delete this.onEnterFrame;
trace("candidatenum:"+candidatenum);
trace("this._width:"+this._width);
trace("_root.votenumarray[j-1]"+votenumarray[j-1]);
trace("j"+j);
}; j++;
}
}

我利用循环复制影片剪辑fk,依次命名fk1,fk2, fk3。。。。

在复制好一个实例后,就定义该实例的onEnterFrame函数。所以每个复制实例的该方法受参数影响都有所不同。

然而调试中出的问题是

每次到运行到_root["fk"+j].onEnterFrame=function()都不执行,直接跳过执行j++那句,直到j过界,循环结束,onEnterFrame才会被执行一次,仅一次而已。

太郁闷了,谁能告诉我为什么被跳过去了????
展开
 我来答
sghdnso
2009-10-19 · TA获得超过487个赞
知道小有建树答主
回答量:534
采纳率:0%
帮助的人:380万
展开全部
votenumarray[j-1]是数组么?能不能把这数组里面的数值贴出来,,,会不会是if(this._width<currentwidth)这个this._width不会小于currentwidth?也就是会不会满足这个IF条件??????这个IF后面怎么没"{"?

还有注意的是你这个currentwidth这是一个定值,,,这个数值会等于votenumarray[candidatenum-1];会不会因为这是一个定值,使得你的onEnterFrame只持行一次呢?? 你是不是想每一个复制出来的影片的宽度都不一样?可以用_root["currentwidth"+j]=votenumarray[j-1]来代替currentwidth

主要还是代码贴全一点,,,,,语法方面应该是不是有问题的,,,主要是数值方面的 其实也就是votenumarray这个数组,还有就是candidatenum这是一个什么数
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式