S├Ñ kom kollisionerne p├Ñ plads, men vi har brug for at spilleren bev├ªger sig. Du overvejer m├Ñske at bes├©ge Phasers dokumentationssider og s├©ge efter m├Ñder at tilf├©je en event listener, men det beh├©ver vi ikke her. Phaser har en indbygget Keyboard manager (tastaturmanager), og en af fordelen ved at benytte den, er denne smarte lille funktion:

cursors = this.input.keyboard.createCursorKeys();

Den befolker cursors-objektet med fire egenskaber: up, down, left, right (op, ned, venstre, h├©jre), der alle er instanser af Key-objekter. Derefter beh├©ver vi blot checke disse i vores update-loop.

if (cursors.left.isDown)
{
    player.setVelocityX(-160);

    player.anims.play('left', true);
}
else if (cursors.right.isDown)
{
    player.setVelocityX(160);

    player.anims.play('right', true);
}
else
{
    player.setVelocityX(0);

    player.anims.play('turn');
}

if (cursors.up.isDown && player.body.touching.down)
{
    player.setVelocityY(-330);
}

Selv om vi har tilf├©jet en del kode, er det vist altsammen ret let at l├ªse.

F├©rst checkes det om den venstre piletast holdes nede. Hvis den bliver det, tilf├©jer vi negativ vandret hastighed og p├Ñbegynder l├©b-til-venstre-animationen. Hvis h├©jre piletast holdes nede i stedet, g├©r vi bogstaveligt talt det modsatte. Ved at nulstille hastigheden og genindstille den i hver frame p├Ñ denne m├Ñde, skaber vi et stop-start agtig bev├ªgelsesm├©nster.

Spilleren bev├ªger sig kun n├Ñr en piletast holdes nede, og stopper ellers ├©jeblikkeligt. Phaser giver ogs├Ñ mulighed for at skabe mere komplekse bev├ªgelsesm├©nstre med momentum og accelleration, men det her giver os den effekt, vi skal bruge til dette spil. Den sidste del af taste-checkene s├ªtter animationen til 'turn' og den vandrette hastighed til 0, hvis ingen piletast holdes nede.

Spring til det

Den sidste del af koden tilf├©jer evnen til at springe. Piletasten op er vore hoppe-knap, s├Ñ vi checker om den holdes nede. Men vi checker ogs├Ñ om spilleren r├©rer ved jorden, for ellers kunne han hoppe mens han allerede var i luften.

Hvis begge disse betingelser opfyldes, p├Ñf├©rer vi spilleren en lodret hastighed p├Ñ 330 pixels per kvadratsekund. Spilleren vil herefter automatisk falde til jorden igen under p├Ñvirkning af tyngdekraften. Med spilstyringen p├Ñ plads har vi nu en spilverden, som vi kan udforske. Indl├ªs part7.html i browseren og pr├©v et spil. Pr├©v ogs├Ñ at ├ªndre v├ªrdierne, fx de 330 i springet, til h├©jere og lavere v├ªrdier for at se hvilken effekt det har.

image