javascript - Flash CC - HTML5 Canvas : Slideshow Navigation

标签 javascript html flash canvas easeljs

我正在尝试使用 HTML5 Canvas 在 Flash CC 中创建一个带有下一个和后退按钮的简单 3 图像幻灯片。我是 JavaScript 新手,似乎在运行时遇到问题。

this.stop();

this.next_btn.addEventListener("click", playClickNext.bind(this));

function playClickNext() 
{
    this.gotoAndStop(this.currentFrame + 1);
}


this.back_btn.addEventListener("click", playClickBack.bind(this));

function playClickBack() 
{
    this.gotoAndStop(this.currentFrame - 1);
}

我正在发布它,下一个按钮可以工作,但有时会转到错误的框架。后退按钮有时有效,有时无效。它所做的最常见的事情也是在单击时返回到随机帧。

感谢您的帮助!

最佳答案

我整理了一个快速样本,并得到了类似的结果。对我来说,问题是只要您转到该帧,脚本所在的帧就会触发。这意味着按钮上的监听器会堆积起来,并多次触发。

理想的解决方案是将代码从 FLA 中提取出来,并放入您的 HTML/JS 应用程序中。您可以使用实例名称直接定位时间线。例如,在我的应用程序中,它都在主时间轴上,因此您可以使用:

exportRoot.next_btn.addEventListener("click", handler);

要在不重新架构的情况下解决该问题,您还可以确保:

  1. 您的脚本框架永远不会被导航到。您可以将“第一”帧设置为 2 帧长,并将代码放在第 1 帧上,将 stop() 放在第 2 帧上。然后只需确保永远不会 gotoAndStop 到 1 上。您必须将对上一个和下一个的限制,因为您可以在比最大值更高的帧处 gotoAndStop,并且它会换行。
  2. 每帧删除所有事件监听器。使用绑定(bind)设置监听器的方式对于删除来说是有问题的,因此我建议仅删除所有监听器。

我在这里上传了一个快速示例[ https://dl.dropboxusercontent.com/u/2224806/Nav.fla ] 使用第二种方法,主要是因为它很容易修复。 抱歉,链接已过期

请告诉我这是否解决了您的问题,或者它是否与其他问题相关。

关于javascript - Flash CC - HTML5 Canvas : Slideshow Navigation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27804407/

相关文章:

HTML 空白 : spaces before and after <br>

flash - 在 FLA 文件中查找 Actionscript

actionscript-3 - 类型错误 #2007 Flash Prof CS6

javascript - 在 angularJS 中使用 JSON 显示文件系统结构

javascript - 定义函数时如何在javascript函数中初始化参数

javascript - mongoDB 中的查找/搜索性能

javascript - 100% 宽度图像

php - 从 html 源中删除所有换行符

javascript - 使用Javascript从网页中的链接下载

actionscript-3 - AS3 TextField 和 TextFormat 内存泄漏 "other bitmap memory"