この質問の他の多くの回答を調べましたが、回答が見つかりませんでした。
問題は、私の game.js ファイルで World グローバルを認識していないようです。
htmlファイルは適切に並べられています
<script src="js/world.js"></script>
<script src="js/game.js"></script>
IN world.js -- このコンストラクターは、他のコンストラクターと似ているため、機能するはずです。
var World = function(){
var draw = function(ctx) {
ctx.drawImage(bg1, 100, 100);
};
};
IN game.js --犯人はおそらくここにいる
以下の 2 つの関数はどちらもネストされていないことに注意してください。
var World;
function init() {
// Declare the canvas and rendering context
canvas = document.getElementById("gameCanvas");
ctx = canvas.getContext("2d");
localPlayer = new Player(startX, startY); //WORKS CORRECTLY
World = new World(); //SHOULD ALSO WORK CORRECTLY
...................................
init 関数の外側は
function draw() {
// Wipe the canvas clean
ctx.clearRect(0, 0, canvas.width, canvas.height);
World.draw(ctx);
// Draw the local player
// Draw the remote players
var i;
for (i = 0; i < remotePlayers.length; i++) {
remotePlayers[i].draw(ctx);
};
localPlayer.draw(ctx);
};
World.draw(ctx) で、エラーが発生する場所です
Uncaught TypeError: Object [object Object] has no method 'draw' game.js:202 draw
さらに詳細が必要な場合は、喜んで対応させていただきます。かなり大きいことを除いて、すべてのコードを投稿したはずです。