HTML 5画布游戏停止

时间:2015-03-24 14:29:53

标签: jquery html5 canvas game-engine

我使用HTML 5画布和javascript在我的网页上创建了一个游戏。游戏循环运行,用户可以使用键盘播放。 网页上的游戏画布有一个ID =" gamecanvas"。

然而,当视口尺寸减小时,我想停止游戏并将其替换为动画(游戏在小屏幕尺寸上播放效果不佳)

为了达到这个目的,我想要改变游戏画布 FROM 的ID属性 ID =" gamecanvas" TO ID = =" animationcanvas"。

这将确保我的动画Javascript文件将访问canavs(而不是游戏Javascript文件)。

这是否可能使用Jquery,当两个脚本正在运行并运行时,这最终会导致浏览器崩溃吗?

有人可以帮我完成下面的功能吗?

// HTML 5 canvas元素

   <canvas id="gamecanvas" width="800" height="380"></canvas> 

//切换ID代码

$(document).ready(function() {
var $window = $(window);

function checkWidth() {
    var windowsize = $window.width();
    if (windowsize < 979) {
        ...... Change ID
    }  
    else {  
        Change Id... 
    } 
}
// Execute on load
checkWidth();
// Bind event listener
$(window).resize(checkWidth);
});

非常感谢

1 个答案:

答案 0 :(得分:0)

要切换ID: jsBin demo

$(document).ready(function() {
    var $window = $(window);
    var $canvas = $("canvas");

    function checkWidth() {
       $canvas.attr("id", $window.width()<979 ? "animationcanvas" : "gamecanvas");
    }
    // Execute on load
    checkWidth();
    // Bind event listener
    $window.resize(checkWidth);
});

另请参阅:https://developer.mozilla.org/en-US/docs/Web/API/Window/cancelAnimationFrame取消正在进行的游戏循环。

相关问题