2017-03-14 5 views
-1

ein Skript laden, wenn ich Raum drücken

var s; 
 
var scl = 20; 
 
var food; 
 
var audio = new Audio("background.mp3"); 
 
var audioDeath = new Audio("death.wav"); 
 
var audioEat = new Audio("ding.wav"); 
 
var img = new Image("imagine.png"); 
 

 
function setup() { 
 
    audio.volume = 0.1; 
 
    createCanvas(500, 500); 
 
    frameRate(10); 
 
    input(start); 
 
} 
 

 
function start() { 
 
    audio.play(); 
 
    s = new Snake(); 
 
    pickLocation(); 
 

 
} 
 

 
function pickLocation() { 
 
    var cols = floor(width/scl); 
 
    var rows = floor(height/scl); 
 
    food = createVector(floor(random(cols)), floor(random(rows))); 
 
    food.mult(scl); 
 
} 
 

 
function draw() { 
 
    background('black'); 
 
    if (s.eat(food)) { 
 
    audioEat.pause(); 
 
    audioEat.currentTime = 0; 
 
    audioEat.play(); 
 
    pickLocation(); 
 
    if ((food.x == s.x && food.y == s.y) || (s.tail.indexOf(food) > -1)) { 
 
     pickLocation(); 
 
    } 
 

 
    } 
 
    if (s.death() == true) { 
 
    audio.pause(); 
 
    audio.currentTime = 0; 
 
    audioDeath.volume = 0.5; 
 
    audioDeath.play(); 
 
    start(); 
 
    } 
 
    s.update(); 
 
    s.show(); 
 

 

 

 
    fill(255, 0, 100); 
 
    rect(food.x, food.y, scl, scl); 
 
} 
 

 
function keyPressed() { 
 
    if (keyCode === UP_ARROW && s.yspeed != 1) { 
 
    s.dir(0, -1); 
 
    } else if (keyCode === DOWN_ARROW && s.yspeed != -1) { 
 
    s.dir(0, 1); 
 
    } else if (keyCode === RIGHT_ARROW && s.xspeed != -1) { 
 
    s.dir(1, 0); 
 
    } else if (keyCode === LEFT_ARROW && s.xspeed != 1) { 
 
    s.dir(-1, 0); 
 
    } 
 
}
<!DOCTYPE html> 
 
<html> 
 

 
<head> 
 
    <meta charset="UTF-8"> 
 
    <title> SNAKE GAME</title> 
 
    <script src="libraries/p5.js" type="text/javascript"></script> 
 
    <script src="libraries/p5.dom.js" type="text/javascript"></script> 
 
    <script src="libraries/p5.sound.js" type="text/javascript"></script> 
 
    <script src="sketch.js" type="text/javascript"></script> 
 
    <script src="snake.js" type="text/javascript"></script> 
 
</head> 
 

 
<body> 
 
    <img src="imagine.png"></img> 
 
</body> 
 

 
</html>

So basicaly wollte ich habe ausprobieren Javascript heute und, mit etwas Hilfe von einigen Tutorials das Spiel Snake codieren verwaltet. Das einzige Problem, das ich habe, ist das Skript läuft direkt nach der Seite geladen, wo ich es nur ausführen möchte, nachdem der Benutzer die Leertaste gedrückt hat. Ich habe jetzt seit ein paar Stunden online gesucht, aber es immer noch nicht geschafft.

+1

Sie benötigen fügen Sie den Code, den Sie bisher haben zu zeigen. – Paul

+0

Wickeln Sie die gesamte Code in einer Funktion namens 'startGame();' und dann ein Tastendruck-Ereignis für Leer erstellen, die die Funktion ausführt ... Du wird nicht viel mehr Hilfe ohne irgendeine Code erhalten, wie Paulus weist darauf hin. – Santi

Antwort

0

Sie können einen Event-Listener wie dieses

var main = document.getElementsByClassName("main")[0]; 
 
window.addEventListener("keypress", doSomething, false); 
 

 
function doSomething(e) { 
 
    if (e.keyCode === 32) 
 
    main.style.background = "red"; 
 
    
 
}
.main { 
 
    height: 100vh; 
 
    width: 100vw; 
 
    background: pink; 
 
}
<div class="main"> 
 
Press Space 
 
</div>

Verwandte Themen