2015-08-24 32 views
0

我第一次在这里发表所以我:)承担问题,我的setInterval和if语句

林重新发现我的编程intrest与“新”画布元素和JavaScript我因子评分我做一个有趣的游戏,漂亮的新以javascript强悍。

游戏是一个狩猎游戏,我遇到的问题是,当动物进入听觉范围(代表猎人和他周围的两个圆圈代表他的听觉范围和视觉范围)时,他应该说“我听到了什么”,并且在视觉范围内他应该射击。

这一切都正常工作,但他每次重复游戏循环和动物在范围内时都会发送文字和拍摄。

我因子评分是使用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

回答

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); 
+0

感谢您对awnser :) 艰难的代码本身似乎工作它停止在它的轨道gameloop并描述为“脚本错误”在0行... –