很奇怪的FLASH编程问题。。急!

[复制链接]
查看11 | 回复4 | 2010-7-8 16:52:02 | 显示全部楼层 |阅读模式
我先建了一个影片剪辑元件,一共两帧,第一帧我写了:
stop();
_root.a=1;
然后第二帧:
stop();
_root.a=2;
然后我把该元件(主场景中被命名为bb)放在主场景中的第一帧里(一共只有1帧),在第一帧内:
if(_root.a==1){

bb.play();
}
if(_root.a==2){
trace("over");
}
当我测试影片时,却始终无法输出over字样,这是为什么?
希望大家能帮我解决,谢谢了!!

回复

使用道具 举报

千问 | 2010-7-8 16:52:02 | 显示全部楼层
程序的逻辑么错啊,只是没按你的意思执行罢了,因为主时间轴上的程序如果不是写在ENTERFRAME 里面的话,只执行一遍的,就是说,一开始的时候,_root.a=1时,你写的第一个if被执行了,接着程序去判断你的第二个if,发现不为真,就跳过了
回复

使用道具 举报

千问 | 2010-7-8 16:52:02 | 显示全部楼层
你的stop();应放后边。
回复

使用道具 举报

千问 | 2010-7-8 16:52:02 | 显示全部楼层
所有的_root.a改成_global.a试试
回复

使用道具 举报

千问 | 2010-7-8 16:52:02 | 显示全部楼层
你这样定义变量是不对的,root.a的值是undefined不是1也不是2 所以当然不输出 你现在主场景第一帧 if 前面加 var a = 1;把所有root.a 改成 a 就行啦
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行