[英]Converting Flash File to HTML
我使用Adobe Animate将flash文件(.fla)转换为HTML。 转换时很少有代码被注释掉。 需要标识Java脚本的等效语法/注释的Actionscript代码段。 以下是示例注释操作脚本。
dashboard_btn.onRelease = function() {
ExternalInterface.call("Main.getInstance().FlashDecision","DASHBOARD");
gotoAndStop("DASHBOARD");
}
如何替换onRelease和ExternalInterface.call?
例如,gotoAndStop(“ DASHBOARD”); // ActionScript,可以转换为this.gotoAndStop(“ DASHBOARD”); // JavaScript
“如何替换
onRelease
和ExternalInterface.call?
”
(1)对于onRelease
您可以使用HTML的mouseup事件:
因此,AS3代码为:
dashboard_btn.onRelease = function()
在Javascript中,它变得像...
(其中div是容器 ,类似于Flash的MovieClip / Sprite容器):
<div id="dashboard_btn" onmouseup="someFunctionName();">
<img src="img_of_button.png" width="80" height="30">
</div>
<script type="text/javascript">
function someFunctionName()
{
//do what need when user's finger leaves a mouse button (release)
alert("finger was released from button");
}
</script>
(2) HTML代码中没有ExternalInterface.call
。 这是为了让SWF与它的容器通信(例如:如果SWF包含在HTML文档中,则调用Javascript函数)。 如果您要转换为Javascript,则您的代码已经在容器内 (此时无需存在externalInterface
)。 只需在需要时手动调用Javascript函数。
如果您的代码确实包含一些称为gotoAndStop
JS函数,请使用它,否则,您可以通过显示“ DASHBOARD”框架的内容来手动实现相同的目的。 可以通过创建一些HTML字符串,然后使用appendChild
或innerHTML
用该HTML更新<div>
容器来提供内容。
您可以将上面的代码扩展为这样的逻辑:
function someFunctionName()
{
//# do what need when user's finger leaves a mouse button (release)
alert("finger was released from button");
//# if such Function exists in your code
this.gotoAndStop("DASHBOARD");
//# or else run some other Function manually
FlashDecision("DASHBOARD");
}
function FlashDecision( input_txt )
{
alert("Show content here of frame labeled : " + input_txt); //where input_txt is "DASHBOARD"...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.