gpt4 book ai didi

javascript - 如何从 flash as3 获取文本和矩形颜色?

转载 作者:行者123 更新时间:2023-11-30 05:52:29 25 4
gpt4 key购买 nike

我想从 flash 获取文本颜色和矩形背景颜色到 javascript。最好的方法是什么?例如,当加载 flash 电影时,我想将其文本颜色和矩形背景颜色发送到 javascript。然后 javascript 将在 html 文本框中显示此颜色。任何想法,如何做到这一点?
谢谢
阿希什

最佳答案

您可以使用 ExternalInterface

ActionScript

在初始化您的 Flash 电影时,您应该添加您想要的可能的回调。在这种情况下你不需要回调,你只需要调用JS。只是为了让你知道如何去做,我会解释如何)

import flash.external.ExternalInterface;

function init(){
var jsready:Boolean = ExternalInterface.available;
if(jsready) { //checks if External callbacks can be made
sendColors();//send the colors when movie is initializing
try{
//You add the callback, when JS calls getColors, actionscript will call sendColors() function
ExternalInterface.addCallback("getColors", sendColors);
} catch (error:SecurityError) {
trace("A SecurityError occurred: " + error.message + "");
} catch (error:Error) {
trace("An Error occurred: " + error.message + "");
}
}
}
function sendColors(){
//send your colors to JS
ExternalInterface.call('receiveColorsFromFlash',color1,color2);
}

Javascript

如果您使用了:

<object id="myflash1">
<embed id="myflash2">
</embed>
</oject>

或者:

<object id="myflash1">
<object id="myflash2">
</object>
</oject>

在代码中嵌入 Flash 的方式,适用于多种浏览器。确保嵌入和对象标记具有不同 ID。或者不会为 firefox 浏览器的第二个对象进行调用。

您可以通过添加此函数来解决此问题,该函数始终返回加载到 DOM 中的正确 Flash 对象。这是一个过时的(5 年前的)片段,可能不再有效,请使用 JQuery 或您想要的任何其他解决方案。

如果您使用另一种嵌入 flashobject 的方式(SWFObject.js 或任何其他方式),您可以只使用 jquery/getElementByid 来定位一个对象。

function thisMovie() {
if (navigator.appName.indexOf("Microsoft") != -1) {
return document.getElementById("myflash1");
}else if (navigator.vendor.indexOf("Apple") != -1) {
return document.getElementById("myflash1");
} else {
return document.getElementById("myflash2");
}
}

Flash会调用的JS函数:

function receiveColorsFromFlash(color1,color2) {
//do your thing with the colors
}

向flash请求颜色的JS函数

thisMovie().getColors();

关于javascript - 如何从 flash as3 获取文本和矩形颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13876497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com