HTML 5 canvas 游戏停止
HTML 5 canvas game stop
我在我的网页上使用 HTML 5 canvas 和 javascript 创建了一个游戏。游戏循环运行,用户可以使用键盘玩这个游戏。
网页上的游戏 canvas 的 ID ="gamecanvas".
但是,当视口尺寸减小时,我想停止游戏并用动画替换它(游戏在小屏幕尺寸上玩得不好)
为此我想交换游戏的ID属性canvas FROM
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);
});
非常感谢
切换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 取消正在进行的游戏循环。
我在我的网页上使用 HTML 5 canvas 和 javascript 创建了一个游戏。游戏循环运行,用户可以使用键盘玩这个游戏。 网页上的游戏 canvas 的 ID ="gamecanvas".
但是,当视口尺寸减小时,我想停止游戏并用动画替换它(游戏在小屏幕尺寸上玩得不好)
为此我想交换游戏的ID属性canvas FROM 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);
});
非常感谢
切换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 取消正在进行的游戏循环。