egy hazafi Creative Commons License 2018.10.26 0 0 5263

Ennél viszont tényleg megállt a tudományom: azt szeretném elérni, hogy kirajzolódjon egy háttérkép, aztán ha lenyomjuk a szóközt, akkor váltson állapotot a program és rajzoljon ki egy másik hátteret. Innen az Escape lenyomására lehessen visszatérni az eredeti képhez. De csak az első képet rajzolja ki, szóköz lenyomására semmit nem csinál. Mi lehet a baj a kódomban? Nem értem a JS logikáját netán?

 

<html>
<head>
<title>Hátteres</title>
</head>
<body>
<canvas id="rajzvaszon" width="640" height="480"></canvas>
<script>
var vaszon = document.getElementById('rajzvaszon');
var rv = vaszon.getContext('2d');
if (vaszon.width < window.innerWidth) {
vaszon.width = window.innerWidth;
};
if (vaszon.height < window.innerHeight) {
vaszon.height = window.innerHeight;
};
var cimhatter = new Image();
cimhatter.src = 'kepek/cimkep.png';
var urhatter = new Image();
urhatter.src = 'kepek/urhatter.png';
var jatekallapot = 0; //címképernyő mutatása
setInterval(frissites, 60);
function frissites() {
window.addEventListener("keydown", gombnyomas, false);
rv.clearRect(0,0,vaszon.width,vaszon.height);
switch ( jatekallapot ) {
case 0:
function gombnyomas (gomb) {
if ( gomb.keyCode == 32 ) {
jatekallapot = 1;
};
};
rv.drawImage(cimhatter,0,0,vaszon.width,vaszon.height);
break;
case 1:
function gombnyomas (gomb) {
if ( gomb.keyCode == 27 ) { //Esc gomb
jatekallapot = 0;
};
};
rv.drawImage(urhatter,0,0,vaszon.width,vaszon.height);
break;
};
};
</script>
</body>
</html>