27-07-2007, 08:43 PM
(Modification du message : 29-07-2007, 10:43 PM par trididinus.)
Cela fait longtemps que je ne suis plus venu et donc je redis bonjour à tout ceux que je ne connais pas.
Voilà je voudrais réaliser l'inventaire de mon jeu à coté de l'image du personnage. Le joueur pourrait alors déplacer un objet de son inventaire (à l'aide de la souris) et le poser sur son perso pour que l'objet soit équipé (système de drag and drop)
Tout fonctionne bien sous Firefox mais pas sur internet explorer évidement. Seulement je ne comprend pas pourquoi car j'ai fait la différence entre les deux.
Voici le code permettant l'ouverture du fichier qui doit changer l'image :
Voilà je voudrais réaliser l'inventaire de mon jeu à coté de l'image du personnage. Le joueur pourrait alors déplacer un objet de son inventaire (à l'aide de la souris) et le poser sur son perso pour que l'objet soit équipé (système de drag and drop)
Tout fonctionne bien sous Firefox mais pas sur internet explorer évidement. Seulement je ne comprend pas pourquoi car j'ai fait la différence entre les deux.
Voici le code permettant l'ouverture du fichier qui doit changer l'image :
Code PHP :
<?php
<div id="perso"><img id="perso" src="<? echo $image; ?>" /></div>
<script type="text/javascript">Droppables.add('perso', {onDrop:
function(element){
var id_objet = encodeURIComponent(element.id)
if(id_objet != '') {
if(texte = file('equiper_objet.php?idobjet='+id_objet))
{
if(texte == 'Objet inexistant')
{
writediv('Cet objet n\'existe pas.');
}
else if(texte == 'Non appartenance')
{
writediv('Cet objet ne vous appartient pas.');
}
else if(texte == 'deja porte')
{
writediv('Vous portez déjà cet objet.');
}
else if(texte == 'objetnonportable')
{
writediv('L\'objet ne peut pas être mis sur le personnage.');
}
else
{
document.getElementById("reponse").style.visibility="hidden";
var nouvelleimage = texte;
var persoemplacement = document.getElementById("perso");
persoemplacement.setAttribute("src", nouvelleimage);
}
}
}
else { writediv('L\'id de l\'objet n\'est pas rentré.'); }
}
})</script>
Le fichier est ouverte grace à la fonction "file()" et le résultat est obtenu par la suite.
Voici la fonction file() :
Code PHP :
<?php
function file(fichier)
{
if(window.XMLHttpRequest) // FIREFOX
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // IE
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else
return(false);
xhr_object.open("GET", fichier, false);
xhr_object.send(null);
if(xhr_object.readyState == 4) return(xhr_object.responseText);
else return(false);
}