학교에서 프로젝트 용 타일 기반 게임을 만들고 해결할 수없는 "치명적인"오류가 발생했습니다.오류; (배열) speelVeld가 정의되지 않았습니다
uncaughtReferenceError: speelVeld is not defined.
인 32 라인을 말한다 : 나는 희망
speelVeldBreedte=speelVeld[0].length;
이 내가지고있어 오류가
function init(){
var speelVeldBreedte;
var speelVeldHoogte;
var speelVeld = [
[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
[1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,0,1,0,1,0,1,1,0,1,1,0,1,0,1,1,1,1],
[1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,0,1,0,1,0,1,1,0,1,1,0,1,0,1,1,1,1],
[1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,0,1,0,1,0,1,1,0,1,1,0,1,0,1,1,1,1],
[1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,0,1,0,1,0,1,1,0,1,1,0,1,0,1,1,1,1],
[1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,0,1,0,1,0,1,1,0,1,1,0,1,0,1,1,1,1],
[1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,0,1,0,1,0,1,1,0,1,1,0,1,0,1,1,1,1],
[1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,0,1,0,1,0,1,1,0,1,1,0,1,0,1,1,1,1],
[1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,0,1,0,1,0,1,1,0,1,1,0,1,0,1,1,1,1],
[1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,0,1,0,1,0,1,1,0,1,1,0,1,0,1,1,1,1],
[1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,0,1,0,1,0,1,1,0,1,1,0,1,0,1,1,1,1],
[1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,0,1,0,1,0,1,1,0,1,1,0,1,0,1,1,1,1],
[1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,0,1,0,1,0,1,1,0,1,1,0,1,0,1,1,1,1],
[1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,0,1,0,1,0,1,1,0,1,1,0,1,0,1,1,1,1],
[1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,0,1,0,1,0,1,1,0,1,1,0,1,0,1,1,1,1],
[1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,0,1,0,1,0,1,1,0,1,1,0,1,0,1,1,1,1],
[1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,0,1,0,1,0,1,1,0,1,1,0,1,0,1,1,1,1],
[1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,0,1,0,1,0,1,1,0,1,1,0,1,0,1,1,1,1],
[1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,0,1,0,1,0,1,1,0,1,1,0,1,0,1,1,1,1],
[1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,0,1,0,1,0,1,1,0,1,1,0,1,0,1,1,1,1],
[1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,0,1,0,1,0,1,1,0,1,1,0,1,0,1,1,1,1],
[1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,0,1,0,1,0,1,1,0,1,1,0,1,0,1,1,1,1]
];
var speelTerrein = document.getElementById("speelterrein");
}
speelVeldBreedte=speelVeld[0].length;
speelVeldHoogte=speelVeld.length;
var schaalTerrein = 20;
speelTerrein.width = speelVeldBreedte * schaalTerrein;
speelTerrein.height = speelVeldHoogte * schaalTerrein;
var ctx = speelTerrein.getContext("2d");
ctx.fillStyle = "white";
ctx.fillRect(0,0,speelTerrein.width,speelTerrein.height);
for (var y=0; y<speelVeldHoogte;y++){
for (var x=0;x<speelVeldBreedte;x++){
var steen = speelVeld[y][x];
if (steen> 01){
ctx.fillStyle = "rgb(100,0,0)";
ctx.fillRect(x*schaalTerrein,y*schaalTerrein,schaalTerrein,schaalTerrein);
}
}
}
:
이
내 스크립트입니다 누군가가이 오류를 해결하는 방법과 정확히 무엇이 문제인지 말해 줄 수 있습니다. 미리감사 레미
그래서 모든 코드를 init 함수 안에 넣고 window.load = init;을 사용하여로드한다고 가정 해 봅시다. –
적어도 init() 밖의 변수를 선언해야합니다. 실제로 init()이 호출되는지 확인하십시오. 하지만 게임 전체를 하나의 기능으로 만 들지는 않을 것입니다. –
함수 밖의 코드를 넣을 때 문제는이 줄에서 나에게 알려주는 것입니다. speelTerrein.width = speelVeldBreedte * schaalTerrein; 오류가 발생했습니다 : catch되지 않았습니다. TypeError : null의 속성 'width'를 설정할 수 없습니다. –