Carte pour un rpg en php, déplacement via javascript

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par sff, 16 Juin 2010.

  1. sff
    sff WRInaute impliqué
    Inscrit:
    2 Février 2005
    Messages:
    533
    J'aime reçus:
    0
    Bonjour,

    je suis en train de créer un rpg en php, et j'ai un petit problème. Je voudrais que le personnage se déplace instantanément sur la carte avec un petit script js. Un peu à la manière d'un tchat ajax ou l'on affiche le texte avant de l'entrer dans la base de donnée.

    Voici le script de la carte (il fonctionne) :

    Code:
    
    $mapquery = mysql_query(sprintf("SELECT id, size_x, size_y  FROM %s_map WHERE id='%d' LIMIT 1", $mysql->pref, mysql_real_escape_string($userrow['map'])));
    $maprow = mysql_fetch_assoc($mapquery);
    
    $x_start = -$maprow['size_x'];
    $x_end = $maprow['size_x'];
    $y_start = -$maprow['size_y'];
    $y_end = $maprow['size_y'];
    
    $elementsquery = mysql_query(sprintf("SELECT type, avatar, id_element, latitude, longitude FROM %s_map_elements WHERE latitude <= %d AND latitude >= %d AND longitude <= %d AND longitude >= %d AND map='%d'", $mysql->pref, mysql_real_escape_string($y_end), mysql_real_escape_string($y_start), mysql_real_escape_string($x_end), mysql_real_escape_string($x_start), mysql_real_escape_string($maprow['id'])));
    
    while($elementsrow = mysql_fetch_assoc($elementsquery) ) {	
    
    	$block[$elementsrow['latitude']][$elementsrow['longitude']] = 1;
    	
    }
    
    $debutx = $x_start;
    
    $width = 64*$maprow['size_x']+32;
    $height = 64*$maprow['size_y']+32;
    
    $map ='<div style="margin:auto; width:'.$width.'px">';
    
    while($y_end >= $y_start) {
    	
    	$map .='<div style="height:32px">';
    	
    	while($x_start <= $x_end) {
    		
    		//bouton pour se déplacer.
    		$right =(empty($block[$userrow['latitude']][$userrow['longitude']+1]) && $x_start==$userrow['longitude']+1 && $y_end==$userrow['latitude'])? '<input name="right" type="submit" onclick="?">' : null;
    		
    		$player =($x_start==$userrow['longitude'] && $y_end==$userrow['latitude'])? '<img src="images/avatars/carte/'.$userrow['avatar'].'.gif" alt="">' : null;
    		
    		$map .='<div class="map">'.$player.$right.'</div>';	
    		
    		$x_start++;
    	}
    	
    	$map .='</div>';
    
    	$x_start = $debutx;
    	$y_end--;
    }
    
    $map .='</div>';
    
    echo $map;
    ce qui donne ceci :

    [​IMG]

    Le bouton pour se déplacer est ceci :

    Code:
    $right =(empty($block[$userrow['latitude']][$userrow['longitude']+1]) && $x_start==$userrow['longitude']+1 && $y_end==$userrow['latitude'])? '<input name="right" type="submit" onclick="?">' : null;
    IL faudrait donc que lorsque l'on clique sur ce bouton, le personnage se déplace instantanément sur la carte.

    Le script js pour un t'chat ajax est comme ca :

    Code:
    function submit(page)
    {
    var xhr = getXMLHttpRequest();
    
    var content = encodeURIComponent(document.getElementById('content').value);
    document.getElementById('content').value = "";
     
    xhr.onreadystatechange = function() {
            if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
                    document.getElementById(page).innerHTML = xhr.responseText;
            }
    };
     
    xhr.open("POST", "?do="+page, true);
    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xhr.send("content="+content);
    
    } 
    Dans ce code on affiche dans le HTML avant de l'entrer dans la base de donnée, soit un temps de réponse quasi nul. Je voudrais reprendre le même principe pour la carte.

    Mais comment ?

    Pouvez vous m'aider ?

    Merci
     
  2. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 163
    J'aime reçus:
    338
  3. aladdin
    aladdin WRInaute passionné
    Inscrit:
    29 Avril 2005
    Messages:
    1 235
    J'aime reçus:
    0
    +1 pour jQuery

    sinon chapeau pour le projet, je sais que c'est hyper compliqué de développer uns telle chose en PHP ;)


    EDIT : Je viens de jetter un oeil sur APE Server, c'est tout simplement GEANT ! ca me donne déjà des idées :D
     
  4. Robinson
    Robinson WRInaute passionné
    Inscrit:
    26 Octobre 2005
    Messages:
    1 636
    J'aime reçus:
    0
    J'ai développé un moteur de jeu semblable pendant deux mois :)
    On peut créer des maps et les mapper très facilement, y insérer des objets, etc...

    Sauf que j'ai jamais lancé le jeu ^^

    ça m'a plu, j'ai appris pleins de tits trucs, mais les RPG, ça soule au bout d'un moment, faut être motivé pour le développer constamment, et puis c'est loin d'être rentable, faut un serveur solide derrière (ou plutôt des serveurs).
    Bref, j'ai un joli projet avec plus de 150 maps (de mémoire).
    ça intéresse quelqu'un ?
    combien êtes-vous prêt à mettre ? XD

    (non j'aime pas vendre mes créations, je garde tjrs tout pour moi ^^)
     
  5. pprem
    pprem WRInaute discret
    Inscrit:
    15 Décembre 2008
    Messages:
    149
    J'aime reçus:
    0
    Je dirais JQuery aussi

    Mais en fait tu devrais directement basculer sur le Canvas du HTML5 et travailler en JS comme on le ferait directement sur un ordi ou une console. Le serveur ne doit servir que pour stocker les informations sur les personnages et générer leurs interactions, jamais pour autre chose : tout les mouvements et l'affichage doit se gérer au niveau du navigateur.

    J'avais vu passer des kits de développement de jeux en JS, mais me souviens plus où, c'était pas de l'open source mais une licence payante et le truc n'était pas fini, en revanche les exemples de jeux présentés étaient tout simplement géniaux (genre un jeu d'arcade avec sons et tout ce qu'il faut de mouvements).

    En tout cas c'est une bonne idée de se lancer là-dedans. Tu as un graphiste à disposition ou tu fais tout toi-même ?
     
  6. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 163
    J'aime reçus:
    338
    Je me souviens de ceci: http://impactjs.com/ ?

    Sinon d'autres pistes:
    http://raphaeljs.com/
    http://processingjs.org/
     
  7. pprem
    pprem WRInaute discret
    Inscrit:
    15 Décembre 2008
    Messages:
    149
    J'aime reçus:
    0
    excellent ! pour moi, le HTML5, c'est vraiment l'avenir du jeu et toutes ces librairies contribuent à chaque fois à me le faire penser.

    Voici celle que j'avais noté :
    http://www.effectgames.com/effect/
    et apparemment le projet est en production maintenant
     
Chargement...
Similar Threads - Carte rpg php Forum Date
La carte des cyberattaques dans le monde en temps réel... Le café de WebRankInfo 1 Mars 2022
Programme affiliation carte grise Monétisation d'un site web 20 Mai 2020
MyBusiness : établissement qui n'apparait pas sur la carte alors qu'il est référencé YouTube, Google Images et Google Maps 5 Février 2020
Ajouter un texte sur une carte Google Maps (JS) Développement d'un site Web ou d'une appli mobile 15 Janvier 2020
Système de tirage de carte aléatoire Développement d'un site Web ou d'une appli mobile 27 Août 2019
Carte de crédit Le café de WebRankInfo 25 Janvier 2018
Impossible d'ajouter le paiement via compte bancaire et carte bancaire rejetée Facebook 30 Octobre 2017
Carte Interactive et Référencement Débuter en référencement 11 Juillet 2017
Cartes de paiement Adwords : payooner, cryptopay, entropay, skirll AdWords 28 Mai 2017
Couleurs de pays et survol sur carte GG Maps YouTube, Google Images et Google Maps 10 Février 2017
Différence données structurées et cartes enrichies Débuter en référencement 8 Janvier 2017
kimsufi mode rescue suite a Carte mere HS Administration d'un site Web 30 Juillet 2016
Les cartes enrichies sur Google (Rich Cards) Référencement Google 19 Mai 2016
Problème d'affichage de la carte sur Google : Google maps / Google mon entreprise Référencement Google 7 Mai 2016
Apparaitre dans la carte google map lors d'une recherche YouTube, Google Images et Google Maps 28 Novembre 2015
[résolu] Carte Google Maps avec "zones de densité" Développement d'un site Web ou d'une appli mobile 5 Novembre 2015
Paiement par carte bancaire sur WooCommerce ? e-commerce 21 Mai 2015
Faire apparaitre une carte géographique ds le SERP Débuter en référencement 18 Mai 2015
Carte Interactive région sous Wordpress Développement d'un site Web ou d'une appli mobile 17 Février 2015
Besoin d'avis sur ma boutique de carte à collectionner. Demandes d'avis et de conseils sur vos sites 28 Octobre 2014