大家帮看看这个循环语句该如何写?

chinabbc 2004-09-26 10:05:43
var i=1;
var lis=new Object();
lis.onKeyDown=function()
{
if(Key.isDown(Key.SPACE))
{
if(i==0)
{
i=1;
mc1.play();
mc2.play();
mc3.play();
mc4.play();
mc5.play();
mc6.play();
mc7.play();
mc8.play();
mc9.play();
mc10.play();
mc11.play();
mc12.play();
mc13.play();
mc14.play();
mc15.play();
……
mc100.play();
}else
{
i=0;
mc1.stop();
mc2.stop();
mc3.stop();
mc4.stop();
mc5.stop();
mc6.stop();
mc7.stop();
mc8.stop();
mc9.stop();
mc10.stop();
mc11.stop();
mc12.stop();
mc13.stop();
mc14.stop();
mc15.stop();
……
mc100.stop();
}
}
}
Key.addListener(lis);

似乎可以通过循环结构来简化中间那100行stop和play语句,只用几行就行了,不过我调试老是出错,大家能不能帮忙写出代码。先谢谢了。
...全文
60 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lgzz 2004-09-27
  • 打赏
  • 举报
回复
哦,不好意思,做点补充,
因为在机试验没有做太多的MC,请把以上的
for(var j=1;j<=3;j++)改成:
for(var j=1;j<=100;j++)
lgzz 2004-09-27
  • 打赏
  • 举报
回复
刚才帮你看了一下,其实楼上的说法是绝对的对的:
不过我不大同意楼主这种做法,因为你一开始就给i赋值为1(即你要按两次空格键,它才会运动)
还有一种做法就是,不管怎么样,只要按一下空格即能开又能停的:
var lis=new Object();
var n=0;
lis.onKeyDown=function()
{

if(Key.isDown(Key.SPACE)){
n++;
n%2 ? a=1 : a=2;
if(a==1){
for (var j=1; j<=3; j++){
eval("mc"+j).play();
}
}else{
for (var j=1; j<=3; j++){
eval("mc"+j).stop();
}
}
}
}
Key.addListener(lis);
要求是你在每个MC的第一帧要停住
再把这些代码拷到场景第一帧就行了.
楼主不妨试试
reagan0127 2004-09-27
  • 打赏
  • 举报
回复
var i=1;
var lis=new Object();
lis.onKeyDown=function()
{
if(Key.isDown(Key.SPACE))
{
if(i==0)
{
i=1;
for (var j=1; j<=100; j++)
{
eval("mc"+j).play();
}
}
else
{
i=0;
for (var j=1; j<=100; j++)
{
eval("mc"+j).stop();
}
}
}
}
Key.addListener(lis);
chinabbc 2004-09-27
  • 打赏
  • 举报
回复
可以了,两种方法都行。
呵呵,非常感谢两位的帮助。

2,275

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计/Flash/Silverlight 开发 Flash流媒体开发
社区管理员
  • Flash流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧