Clavier et javascript
Résolu
samghami
Messages postés
61
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
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
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:
- Clavier et javascript
- Télécharger clavier arabe - Télécharger - Divers Web & Internet
- Clavier iphone chiffre et lettre - Guide
- Comment taper / sur clavier - Guide
- Clavier de l'ordinateur - Guide
- Changer clavier qwerty en azerty - Guide
5 réponses
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
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
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" />
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"); } ?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
As tu trouver le code?
Bonjour,
depuis 2012... faut espérer !
Et puis surtout que la réponse lui avait été donnée.