JeuWeb - Crée ton jeu par navigateur
Comment réaliser cela - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Comment réaliser cela (/showthread.php?tid=1834)

Pages : 1 2


Comment réaliser cela - matrix59 - 04-10-2007

bonjour je voudrais des explication ou un petit exemple sur comment réaliser ceci

[Image: nv97i3m8.jpg]

merci pour votre aide


RE: Comment réalisai cela - Harparine - 04-10-2007

Tu as deux possibilités : ou bien tu utilises les propriétés de css (petit indice, il faut jouer avec la largeur de tes "boîtes") ou bien tu utilises la librairie GD2 qui est une librairie graphique de php (permettant de créer des images de façon dynamique - plus lourd pour le serveur - Google devrait être très prolixe à ce sujet... Wink).

Essaie de bidouiller ton truc et pose nous des questions précises sur les problèmes que tu rencontreras, ce sera surement plus formateur que de copier un script tout fait.

Note : un petit effort d'orthographe, ça pourrait être pas mal... Trois fautes dans une question aussi courte ça fait très irrespectueux du lecteur.


RE: Comment réalisai cela - matrix59 - 04-10-2007

merci a toi j'ai regardé quelque truc sur la librairie GD2 c'est encore un peut trop hardcore pour moi donc faut je essaye de trouver des explication sur comment réaliser cela en css merci a toi Smile


RE: Comment réaliser cela - bilbokin - 04-10-2007

Bon, je ne sais pas si tu es puriste ou pas. Personnellement j'aime pas le javascript. Chacun ses goûts comme on dit. Et d'autre part la librairie GD2, c'est correct, mais bon, tout dépend de l'ampleur de ton jeu, mais moi au début je m'en passerais.

Puis-je te suggérer de créer un tableau avec Border à '0', invisible bref. Télécharge ou fabrique avec un simple logiciel paint un carré rouge, un carré bleu et un carré vert. Un petits carrés, je précise.

Ensuite tu conditionnes avec php l'affichage ou non des carrées dans ton tableau. Bref par exemple ta barre de santé peut compté 100 petit carrées ou 10 dépendant de la précission que tu veux donné à ta barre de santé, l'affichage du carré sera conditionnel à un "if" en php, bref conditionnel ;o) ,. Bref tu te débrouille pour conditionner l'apparition du premier carrée à "si la variable santé est 1" affiche le premier carré, pour une barre à 100, ainsi de suite.

Mais bon tout est en théorie, je dis tout cela sans exemple concrêt car je ne sais pas si tu veux utilisé 100%php/xhtml ou un mélange de codage. Si tu choisis cette option je peux toujours t'aider en privé, aider ne veux pas dire tout faire.

A toi de voir. Au fait je ne m'estime pas un pro du php soit en passant, seulement quelqu'un qui aime bien partager de temps à autre.

Bilbokin


RE: Comment réaliser cela - Zamentur - 04-10-2007

autre methode:
une image de 1px de largeur et de x pixel de hauteur (x etant l'epaisseur de la barre)

Il te suffit d'appeller ton image via la balise img et de faire varier la longueur avec le width de façon dynamique avec php en gros <img src="barre_progress.gif" width="<?php echo $largeur; ?>">


Et le tour est joué, bien sur çà fait moins classe que de le faire en css, mais franchement je vois pas l'interet de le faire en css puisqu'une barre de progression est par definition differentes selon la progression du joueur or css c'est pas fait pour çà. C'est pour centralisez la mise en page pas pour faire varier la taille de barre selon quelques choses
(une feuille css générée par php c'est rare et dans ce cas serait inutile)

Celà dit css peut servir à enlever le besoin d'image en remplaçant par une div et en definissant l'allure de cette derniere via css mais on aurra toujours un rendue moins beau


RE: Comment réaliser cela - matrix59 - 04-10-2007

merci a toi Zamentur je avait pas pensé Smile merci a toi sa fonctionne nikel Smile


RE: Comment réaliser cela - Harparine - 04-10-2007

Oula, je trouve que tu te galères vachement, Bilbokin : pourquoi faire un tableau de 100 cases quand tu peux faire une seule balise ? :heuuu:

Personnellement, je ferais un truc comme ça :
Code PHP :
<?php 
//On récupère la valeur d'une caractéristique
$pourcentageCarac = 30;
//On affiche la barre (ici une barre de vie)
echo '<div class="barreCarac" title="' , $pourcentageCarac , '"><div class="barreVie" style="width:' , $pourcentageCarac , 'px;"></div></div>';

Avec un css lié :
Code PHP :
<?php 
.barreCarac {
width : 100px;
border : 1px solid grey;
}

.
barreVie {
height : 10px;
background-image : url(barre.png);
}
Après, si ta barre fait une autre largeur que 100px, il faut juste calculer le ratio en php. Moi, ça me donne ça.

Zamentur, on utilise le même principe, en fait (même si je m'appuie plus sur le css).

Sinon, j'ai trouvé cet article qui utilise une autre technique qui a l'air bien sympathique.


RE: Comment réaliser cela - bilbokin - 04-10-2007

Hum, bon, c'est ben parce que j'ai écrit cet article après que tu es écrit ta réponse, voir article :

http://www.jeuweb.org/board/showthread.php?tid=2567

Pour te répondre, si bien entendu tu savais lire, j'ai pas écrit l'affichage de 100 case, mais l'affichage de 100 carrée dans un tableau invisible.

Pour le reste chacun à sa façon de faire et le monde ne s'en porte pas plus mal. Je ne galère pas plus à faire à ma façon qu'a la tienne. Quel est l'objectif "ironique à pseudo saveur humoristique" de ton commentaire envers ma personne, tu vend des tupperware à temps perdu? Si c'est le cas je t'invite à écrire un sujet intéressant dans la section blablabla et de parler de ton concept de bashing sur les commentaire pour vendre ton propre commentaire. Y aura beaucoup de prenneur je te l'assure


RE: Comment réaliser cela - Harparine - 04-10-2007

:omg: Bon... Mauvaise journée ?

J'ai pas bien compris ta réaction mais bon... Je me faisais simplement la réflexion que 100 petits carrés (ou cases, j'ai lu rapidement), c'est 100 images : rien d'ironique ni de mesquin, je trouve simplement que c'est une méthode compliquée... Par contre, le coup des tupperwares, j'ai pas bien compris (je précise que cette dernière phrase n'a rien d'ironique ou de faussement humoristique : je n'ai vraiment pas compris où tu voulais en venir avec tes boîtes en plastique).


RE: Comment réaliser cela - bilbokin - 04-10-2007

T'as l'attitude d'un vendeur et c'est pas une mauvaise journée pour moi, bien au contraire, splendide journée d'octobre avec un climat d'été à faire rêver pour un québécois. D'ailleurs tant qu'à agrandir en nombre de message ce tread aussi bien faire de la pub pour l'endroit où je vais aller marcher cet après midi :

http://www.domainemaizerets.com/

Bon pour revenir à nos moutons, l'attitude du vendeur c'est cette attitude à faire des commentaires à propos des commentaires des autres.

T'ais-je demandé ton avis sur mon commentaire? Non!

Ais-je besoin de ton avis sur mon commentaire? Encore moins!

Pourquoi tu fais un commentaire sur mon commentaire? Parce que tu veux simplement affirmer que ta manière est plus simple que la mienne, ais-je besoin de savoir cela? Non!

En fait tu veux surtout convaincre l'auteur de la première question que ta façon est la meilleurs ... mais pour cela tu t'évertue à démolir les autres commentaires avec quelques mots "ironique pseudo-humoristique".

Bref tu avais le choix de donner simplement ta manière de faire, là tu aurais été respectueux envers tout le monde, et tu n'aurais pas démarrer d'autre sujet dans un tread d'aide.

Mais tu agis en vendeur tupperware en nous faisons la démonstration de ton produit et la destruction des arguements des autres produits. Bref t'es du style vendeur de tupperware.

Et maintenant on est pogné dans une dynamique que si je répond pas je suis baisé, et vice versa. Bref on allonge ce tread à une question pour rien et le pire c'est que ça part de deux choses, de la "partie où tu m'attaque" et du fait que je me sois défendu.

Donc on est coupable d'avoir allonger ce tread pour rien tout les deux. Voilà pourquoi en général je laisse à ton espèce ce genre de commentaire sans répondre.

En espèrant que cette-fois tu as compris et que ta journée va aussi bien que la mienne.