Keep on going, never give up.

Flash导出HTML5 Canvas修改互动

Adobe FLASH CC导出HTML 5 Canvas格式后,鼠标互动信息会丢失,会出现类似如下提示:

    // timeline functions:
    this.frame_0 = function() {       
        /* stop();
        mybutton1.addEventListener(MouseEvent.MOUSE_OVER, fl_MouseOverHandler);
        
        function fl_MouseOverHandler(event: MouseEvent): void {        
            gotoAndPlay("zou1"); // 开始您的自定义代码
            // 此示例代码在"输出"面板中显示"鼠标悬停"。
            trace("鼠标悬停");
            // 结束您的自定义代码
        }
        mybutton1.addEventListener(MouseEvent.MOUSE_OUT, fl_MouseOutHandler);
        
        function fl_MouseOutHandler(event: MouseEvent): void {
        
            gotoAndPlay("hui1"); // 开始您的自定义代码// 开始您的自定义代码
            // 此示例代码在"输出"面板中显示"鼠标已离开"。
            trace("鼠标已离开");
            // 结束您的自定义代码
        }
        
        */
    }
    this.frame_31 = function() {
         /*stop();*/
    }
    this.frame_64 = function() {
        /* gotoAndStop(1)*/
       this.stop();
    }.bind(this);//必须bind this,否则stop不生效

需要重新修改完善,直接添加的gotoAndPlay等函数默认无法生效,需要进行bind。

一种是在this.frame_xx函数下面调用event监听,示例:

        //这里必须使用bind this,否则gotoAndPlay不生效
        this.mybutton1.addEventListener("mouseover", function() {this.gotoAndPlay(0);}.bind(this));

一种是直接在this.frame_xx函数中调用play、stop、gotoAndPlay、gotoAndStop,示例:

    this.frame_64 = function() {
        /* gotoAndStop(1)*/
        this.stop();
    }.bind(this);//必须bind this,否则stop不生效

参考资料:

http://stackoverflow.com/questions/31843280/adobe-flash-professional-cc-html5-canvas-main-timeline

http://www.runoob.com/jsref/met-element-addeventlistener.html

相关评论(0):  

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

订阅博客

最新文章

本站采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载也必须遵循“署名-非商业用途-保持一致”的创作共用协议. 返回顶部
Copyright@2005-2016 Metsky.com, All rights Reserved.