2004/10/07 | JS to Flash
类别(Flash) | 评论(0) | 阅读(155) | 发表于 13:08
flash to js
用getURL就可以了,js的代码可以写在flash里面也可以写在html里面,查看利用js改变网页背景色

那么js to flash呢
其实也差不多,不过稍微有点不同,网上搜索了一下,掌握了一点技巧和知识

一个简单的例子
一下代码是在html中的js代码
<script language="javascript">
function toFlash(a,b,c){
	window.document.jsToFlash.setVariable("myVar1",a);
	window.document.jsToFlash.setVariable("myVar2",b);
	window.document.jsToFlash.setVariable("myVar3",c);
	window.document.jsToFlash.setVariable("ok",true);
}
</script>
flash中的代码
for (var i = 1; i<=3; i++) {
	this.createTextField ("txt"+i, i, 100, 100+50*i, 200, 30);
	this["txt"+i].text = "var"+i+" =";
}
//
getURL ("javascript:toFlash(\"hbb\",\"flash8\",\"5dblog\");", "_self");
onEnterFrame = function () {
	if (ok) {
		delete ok;
		delete this.onEnterFrame;
		txt1.text = "var1 = "+myVar1;
		txt2.text = "var2 = "+myVar2;
		txt3.text = "var3 = "+myVar3;
	}
};


注意几点

一:js中的jsToFlash是html中object和embed标签中定义的flash对象的名称,默认的为你swf的名字
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="500" height="400" id="jsToFlash" align="middle">

<embed src="jsToFlash.swf" quality="high" bgcolor="#ffffff" width="500" height="400" name="jsToFlash" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />

二:flash中getURL("javascirpt:");冒号后面紧跟语句,不要有空格

三:getURL后直接赋值js传递的变量是没用的,因为js还没有执行,所以变量为undefined,这个和loadMovie未加载出现的问题是一个道理,所以我在js最后多加一句ok为true,在flash里面用onEnterFrame检测,当ok为true时,说明js执行完毕,那么释放ok,删除onEnterFrame,并赋值各变量
0

评论Comments

日志分类
首页[76]
Say[10]
Flash[31]
PHP[3]
XML[2]
Cool[12]
Weapon[10]
Other[8]