Clavier et javascript

Résolu/Fermé
samghami Messages postés 61 Date d'inscription mercredi 21 mars 2012 Statut Membre Dernière intervention 2 mars 2016 - 10 mai 2012 à 14:41
jordane45 Messages postés 38394 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 26 janvier 2025 - 16 janv. 2025 à 11:05
Bonjour, je suis actuellement dans la création d'un jeu codé en php et mysql.
Le joueur se créer un compte, dispose d'un personnage et se balade sur une carte via des boutons directionnelle (Nord, Sud, Est, Ouest).
Je sais qu'il est possible de passer par le clavier via javascript.
Genre si j'appuis sur la fleche du haut, le personnage monte (Ce qui reviens a appuyer sur Nord).
Quelqu'un serais-t-il comment faire cela?

Je dispose d'un vps 250go avec 1GO512 ram et Debian 6
A voir également:

5 réponses

Mihawk Messages postés 4315 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 846
10 mai 2012 à 15:00
Hello,

On s'en fout un peu de ta config' pour ce problème, honnêtement ;-)

Alors commence par nous dire ce qu'il se passe quand le joueur clique sur le bouton 'Nord' ? Ça appelle du php ou du JS ?

Pour la gestion du clavier il va falloir utiliser l'événement Javascript "onKeyDown" qui se déclenchera à chaque fois qu'une touche du clavier est enfoncée. On appelle alors une méthode qui prend en paramètre l'événement lui-même.

Ensuite dans la méthode appelée, on analyse l'événement pour récupérer le code de la touche enfoncée ; à partir de ce code on sait s'il s'agit d'une flèche et si oui de laquelle.

Bien expliqué ici : https://sdelaunay.com/?2006/04/05/25-intercepter-une-touche-clavier-en-javascript-sous-firefox-et-ie

0
EscargotEspiegle123 Messages postés 1 Date d'inscription jeudi 16 janvier 2025 Statut Membre Dernière intervention 16 janvier 2025
16 janv. 2025 à 09:16

As tu trouver le code?

0
jordane45 Messages postés 38394 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 26 janvier 2025 4 730 > EscargotEspiegle123 Messages postés 1 Date d'inscription jeudi 16 janvier 2025 Statut Membre Dernière intervention 16 janvier 2025
16 janv. 2025 à 11:05

Bonjour,

depuis 2012... faut espérer !

Et puis surtout que la réponse lui avait été donnée.

0
samghami Messages postés 61 Date d'inscription mercredi 21 mars 2012 Statut Membre Dernière intervention 2 mars 2016 1
10 mai 2012 à 19:16
Hey voici mon code:
<input name="north" type="image" src="././images/pic_nord.gif"/><br />
<input name="west" type="image" src="././images/pic_ouest.gif"/><input name="east" type="image" src="././images/pic_est.gif"/><br />
<input name="south" type="image" src="././images/pic_sud.gif" />
0
Mihawk Messages postés 4315 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 846
10 mai 2012 à 21:48
Ce code n'explique absolument pas comment cela fonctionne...
0
samghami Messages postés 61 Date d'inscription mercredi 21 mars 2012 Statut Membre Dernière intervention 2 mars 2016 1
10 mai 2012 à 21:54
Beh la tout de suite je n'est pas le reste du code, connais-tu RPGIllusion ?
0
samghami Messages postés 61 Date d'inscription mercredi 21 mars 2012 Statut Membre Dernière intervention 2 mars 2016 1
10 mai 2012 à 22:05
Hey, j'ai trouver ce petit bout de code:
<?php // explore.php :: Déplacements et actions en cours "Actuellement".

function move() {
    
    global $userrow, $controlrow;
    
    if ($userrow["currentaction"] == "En combat") { header("Location: index.php?do=fight"); die(); }
    
    $latitude = $userrow["latitude"];
    $longitude = $userrow["longitude"];
    if (isset($_POST["north_x"])) { $latitude++; if ($latitude > $controlrow["gamesize"]) { $latitude = $controlrow["gamesize"]; } }
    if (isset($_POST["south_x"])) { $latitude--; if ($latitude < ($controlrow["gamesize"]*-1)) { $latitude = ($controlrow["gamesize"]*-1); } }
    if (isset($_POST["east_x"])) { $longitude++; if ($longitude > $controlrow["gamesize"]) { $longitude = $controlrow["gamesize"]; } }
    if (isset($_POST["west_x"])) { $longitude--; if ($longitude < ($controlrow["gamesize"]*-1)) { $longitude = ($controlrow["gamesize"]*-1); } }
    
    $townquery = doquery("SELECT id FROM {{table}} WHERE latitude='$latitude' AND longitude='$longitude' LIMIT 1", "towns");
    if (mysql_num_rows($townquery) > 0) {
        $townrow = mysql_fetch_array($townquery);
        include('towns.php');
        travelto($townrow["id"], false);
        die();
    }
	
	$homequery = doquery("SELECT id FROM {{table}} WHERE latitude='$latitude' AND longitude='$longitude' LIMIT 1", "maison");
    if (mysql_num_rows($homequery) > 0) {
        $homerow = mysql_fetch_array($homequery);
        include('home.php');
        travelto($homerow["id"], false);
        die();
    }

    
    $chancetofight = rand(1,5);
    if ($chancetofight == 1) { 
        $action = "currentaction='En combat', currentfight='1',";
    } else {
        $action = "currentaction='En exploration',";
    }

    
    $updatequery = doquery("UPDATE {{table}} SET $action latitude='$latitude', longitude='$longitude', dropcode='0' WHERE id='".$userrow["id"]."' LIMIT 1", "users");
    header("Location: index.php");

    
}

?>
0
Mihawk Messages postés 4315 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 846
10 mai 2012 à 22:16
Ah ok donc tu dis que tu créés un jeu codé en PHP ça veut pas dire que c'est toi qui le code ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
samghami Messages postés 61 Date d'inscription mercredi 21 mars 2012 Statut Membre Dernière intervention 2 mars 2016 1
10 mai 2012 à 22:23
J'ai pris un script appeller RPGIllusion dont j'ai refais une grosse majeur partit pour l'amélioration pour les joueur ainsi que du noyau
0