【问题标题】:Converting Flash File to HTML将 Flash 文件转换为 HTML
【发布时间】:2019-12-27 12:47:31
【问题描述】:

我有 Flash 文件 (.fla),使用 Adob​​e Animate 将其转换为 HTML。转换时很少有代码被注释掉。需要为注释的 Actionscript 识别 java 脚本等效语法/代码段。以下是示例注释操作脚本。

dashboard_btn.onRelease = function() {           
    ExternalInterface.call("Main.getInstance().FlashDecision","DASHBOARD");          
    gotoAndStop("DASHBOARD");
}

如何替换onRelease和ExternalInterface.call?

例如,gotoAndStop("DASHBOARD"); //ActionScript,可以转换成this.gotoAndStop("DASHBOARD"); //Javascript

【问题讨论】:

  • 不要否定我的问题,如果您不清楚,请发表评论。这样我就可以更新我的问题。通过否定标记,我现在怎么会错过我错过的。

标签: javascript html actionscript-3 flash


【解决方案1】:

“如何替换onReleaseExternalInterface.call?

(1) 对于onRelease,您可以使用HTML 的mouseup 事件:

所以AS3代码:

dashboard_btn.onRelease = function()

在 Javascript 中,它变成...
(其中 divcontainer,类似于 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 字符串来提供内容,然后使用 appendChildinnerHTML 使用该 HTML 更新 &lt;div&gt; 容器。

你可以将上面的代码扩展成这样的逻辑:

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"...
}

【讨论】:

  • 感谢您的回复,经分析发现Adobe Animate转换的JavaScript文件依赖于CreateJS库。使用 CreateJS 语法和事件处理程序能够达到预期的结果。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-04-09
  • 1970-01-01
  • 2018-06-03
  • 2010-11-25
  • 2013-08-24
  • 2013-07-10
  • 2021-10-09
相关资源
最近更新 更多