flash as 语法迷惑

来源:百度知道 编辑:UC知道 时间:2024/05/28 05:57:38
我制作了一个网页轮换广告,第一帧代码如下:
loadVariables("txt.txt",_root);
System.usecodepage=true;
onEnterFrame=function() {
if(jz[这是我场景上影片剪辑名]<>undefined) {
loadMovie(_root.jz1,jz);
tt[动态文本]=_root.t1[TXT加载进来的变量];
delete onEnterFrame;
}else{
trace("not yer")
}
};
可是可以用,但我就是不明白一开始影片剪辑是空的,那他就应该一直显示"not yer"呀,把if语句删除就会出现Error opening URL "file:///K|/FLASH8.0/my/undefined",可是我变量明明在TXT文档中是02.gif不可能变成undefined,而且再次或几次转到第1帧加载就可以正常了,看起来onEnterFrame就是为了连续加载知道它正常,这是为什么?
二楼能把你的方法每句都解释下吗?
懂了就采取你的答案。不知道为什么用你的方法就是直接Error opening URL "file:///K|/FLASH8.0/my/undefined

这个问题我也遇到过,我的个人理解是,当第一次加载变量后,此变量只是加载到内存,但是还未定义,第二次,就相当于把刚才加载到内存的变量定义为你要用的变量,这个时候也就可以使用了,所以一般从外部加载的变量或对象,都要检查其是否定义才可以去使用。另一个原因,我觉得也是考虑到网络的延迟,因为从外部加载变量,必竟要花费时间,如果不去判断就使用,很可能出现问题。这也许是FLASH工程师们所担心的问题。
呵,,只是个人的见解,谨供参考。

tt[动态文本]=_root.t1[TXT加载进来的变量];你这句执行的时候loadVariables("txt.txt",_root);这个不一定已经加载进来了。。。

还有 flash里没有<>的比较符,而是 !=

建议你使用LoadVars类
LoadVars 类是 loadVariables() 函数的替代方法,用于在 Flash 应用程序和服务器之间传输变量
//txt文件路径data.txt ,txt文件内容: img1=01.gif&text1=图片说明
//动态文本实例名tt,装载图片的MC实例名imgLoader
var dataloader = new LoadVars();
dataloader.onLoad = function(){
tt.text = this.text1;
imgLoader.loadMovie(this.img1);
}
dataloader.load("data.txt");