2015-08-24 74 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行... –