我在这里的第一篇文章,请耐心等待我:)
我正在重新发现我对#34; new"画布元素和javascript,我想我制作一个有趣的游戏,javascript艰难的新手。
游戏是一个狩猎游戏,我遇到的问题是,当动物进入听觉范围(代表猎人的像素和他周围的两个圆圈代表他的听力范围和视觉范围)时,他应该说"我听到了什么& #34;在视野范围内,他应该射击。
一切正常但是每次游戏循环重复并且动物在范围内时,他都会发送文本并进行拍摄。
我的想法是使用setInterval,但我不能让它按我想要的方式工作:( 这是我的代码:
var Interval = setInterval(function() {
hunterTimer()
},1000);
if (hunter.x >= moose.x-hunter.d1/2 &&
hunter.x <= moose.x+hunter.d2+hunter.d1/2 &&
moose.y >= moose.y-hunter.d1/2 &&
hunter.y <= moose.y+hunter.d2+hunter.d1/2) {
function hunterTimer() {
ctxtext.fillText("I hear something!",50,textbreak),
textbreak += 10;
}
hunterTimer();
}
任何帮助都会很好,很抱歉这篇长篇文章:D
答案 0 :(得分:1)
我认为问题在于代码结构。你可以试试这样的(未经测试的代码):
var hunterTimer = function () {
if (hunter.x >= moose.x-hunter.d1/2 &&
hunter.x <= moose.x+hunter.d2+hunter.d1/2 &&
moose.y >= moose.y-hunter.d1/2 &&
hunter.y <= moose.y+hunter.d2+hunter.d1/2) {
ctxtext.fillText("I hear something!",50,textbreak),
textbreak += 10;
}
}
var interval = setInterval(hunterTimer, 1000);