ACCUEIL
NEWS
FORUM
COMPTE
4
Utilisateur(s) en ligne
Oltana.net
02 Décembre 2023 à 19:38:42
Bienvenue,
Invité
. Veuillez
vous connecter
ou
vous inscrire
.
Connexion avec identifiant et mot de passe
Nouvelles
:
Bascule sur SMF faite!
Oltana.net
>
Informatique Créatrice
>
Webmastering
> Fil de discussion:
[PHP] Générer une grille de coordonnées
Pages: [
1
]
Bas de page
« sujet précédent |
| sujet suivant »
Auteur
Fil de discussion: [PHP] Générer une grille de coordonnées (Lu 21870 fois)
0 Membres et 1 Invité sur ce fil de discussion.
[PHP] Générer une grille de coordonnées
Norore
Animateurs
Hors ligne
Sexe:
Messages: 369
«
le:
06 Février 2008 à 22:30:53 »
Bonsoir.
J'aurais une question à poser aux pros du PHP ^^ ! Un ami à moi a un projet de carte pour un jeu. Sur cette carte, il veut pouvoir y afficher différentes choses (villes, ressources...), pour l'instant, il affiche ces images via le css. Il a déjà entré 100 villes rien qu'en css... Autant vous laisser deviner le boulot colossal rien que pour ça, ça donne le vertige
!
Journalisée
Citation de: Secondat de Montesquieu
Je me croirais le plus heureux des mortels si je pouvais faire que les hommes puissent se passer de leur préjugé.
Re: [PHP] Générer une grille de coordonnées
Marmotte
Modérateur Global
Hors ligne
Sexe:
Messages: 554
«
Répondre #1 le:
07 Février 2008 à 14:37:57 »
Euh... j'ai pas trop compris...
Les villes sont ou ? juste dans sa tête, dans une base de données ?
Ca doit pouvoir changer (carte dynamique) ou ca ne changera jamais ?
Et a l'affichage ca donne quoi ?
Il y a des tas de façons de représenter une carte...
Journalisée
Re: [PHP] Générer une grille de coordonnées
Norore
Animateurs
Hors ligne
Sexe:
Messages: 369
«
Répondre #2 le:
07 Février 2008 à 14:57:53 »
Citation de: "Marmotte"
Euh... j'ai pas trop compris...
Les villes sont ou ? juste dans sa tête, dans une base de données ?
Ca doit pouvoir changer (carte dynamique) ou ca ne changera jamais ?
Et a l'affichage ca donne quoi ?
Il y a des tas de façons de représenter une carte...
1) les villes sont sur une carte, mais elles sont susceptibles de ne pas être au même endroit lors de la sortie du jeu (nous nous référons actuellement à des cartes de fans
?
Journalisée
Citation de: Secondat de Montesquieu
Je me croirais le plus heureux des mortels si je pouvais faire que les hommes puissent se passer de leur préjugé.
Re: [PHP] Générer une grille de coordonnées
superjun
Posteur assidu
Hors ligne
Messages: 137
«
Répondre #3 le:
08 Février 2008 à 16:38:21 »
Si j'ai bien compris le truc, actuellement il définit la position des villes (ou n'importe quoi d'autre qui doit se trouver sur la carte) avec un CSS en indiquant la position en pixel (ou n'importe quelle autre unité). Je suppose que s'il utilise un CSS, l'affichage des différentes images se fait au niveau du navigateur (ce n'est pas une image unique générée par PHP)
Le système d'affichage et de mesure de la 'distance' des pixels étant déjà une sorte de système de coordonnées (tu peux définir un point sur une image grâce aux coordonnées X et Y du pixel), pourquoi vouloir changer ?
Après, pour automatiser, il pourrait bien entendu créer un modèle unique à toutes les images, dont les données (nom, lien, type, coordX, coordY, dimmensions, etc) se trouvent dans la base de donnée, et de générer le CSS avec PHP.
Ainsi, un seul bloc contenant toutes les données nécessaires à l'affichage d'une image pourra être réutilisé à l'intérieur d'une boucle (en remplaçant lesdites données par des variables, dont le contenu est fourni par la BDD).
Avec ce système, il faudra bien entendu entrer chaque données de chaque images à la main, mais d'une manière beaucoup plus succinte et donc beaucoup plus efficace. En outre, la manipulation (ajout, modification, mise à jour, etc) de ces données sera beaucoup plus simple.
Je ne sais pas si ça a éclairci un peu le sujet, ne voyant pas exactement ce que tu veux faire, mais j'espère que ça t'as quand même un peu aidé
Journalisée
What isn't remembered never happened...
Re: [PHP] Générer une grille de coordonnées
Norore
Animateurs
Hors ligne
Sexe:
Messages: 369
«
Répondre #4 le:
08 Février 2008 à 18:03:01 »
Citation de: "superjun"
Le système d'affichage et de mesure de la 'distance' des pixels étant déjà une sorte de système de coordonnées (tu peux définir un point sur une image grâce aux coordonnées X et Y du pixel), pourquoi vouloir changer ?
Si un jour il doit rentrer, je ne sais pas, disons... 1.000 nouvelles coordonnées de gisement d'or, s'il doit tout se taper à la main, j'espère qu'il aime le café
?
Citation
Avec ce système, il faudra bien entendu entrer chaque données de chaque images à la main, mais d'une manière beaucoup plus succinte et donc beaucoup plus efficace. En outre, la manipulation (ajout, modification, mise à jour, etc) de ces données sera beaucoup plus simple.
C'est exactement ce que je cherche en fait
[/quote]
Oui, un peu, merci
!
Journalisée
Citation de: Secondat de Montesquieu
Je me croirais le plus heureux des mortels si je pouvais faire que les hommes puissent se passer de leur préjugé.
Re: [PHP] Générer une grille de coordonnées
superjun
Posteur assidu
Hors ligne
Messages: 137
«
Répondre #5 le:
08 Février 2008 à 19:39:06 »
Citation
Si un jour il doit rentrer, je ne sais pas, disons... 1.000 nouvelles coordonnées de gisement d'or, s'il doit tout se taper à la main, j'espère qu'il aime le café
Citation
Ah tiens, je ne savais pas qu'on pouvais générer le CSS avec PHP, comment peut-on faire ça
?
Le CSS est un fichier texte tout simple, au même titre qu'un fichier HTML. Il est reconnaissable au fait qu'il a une syntaxe particulière qui peut être interprétée par les navigateur afin de mettre les pages en forme. Au même titre qu'un fichier HTML ou qu'un fichier PHP.
Maintenant, ce que fait le PHP, c'est (si on abrège) envoyer des données texte, généralement HTML, à un navigateur. Ca c'est l'usage basique. Mais il peut aussi manipuler des bases de données, ou traiter de véritables fichiers (images, textes, etc). Bon ça c'est la théorie. En application pratique ça donne ça : Le PHP fait ce que tu lui demande et l'envoie au navigateur.
Si tu lui donnes les instructions nécessaires, il va te créer une page HTML. Mais pour ça, tu dois entrer les balises HTML, le code HTML, et tout ce qui va avec le HTML. En gros, le PHP te permet de traiter le contenu des fichiers HTML que tu envoies à l'internaute.
Mais il permet en fait de traiter n'importe quel fichier texte, y compris CSS.
Dans un fichier HTML, tu appelles une CSS par
Code:
<link rel="stylesheet" type="text/css" href="feuille_de_style.css" />
Mais si tu remplace
feuille_de_style.css
par
CSS_dynamique.php
ça marche aussi, vu que la balise <link> avec l'attribut
rel="stylesheet"
indique au navigateur qu'il s'agit en fait d'une CSS.
Donc tu peux générer ta feuille de style grâce à PHP comme si tu générait n'importe quel texte, avec des variables et tout.
Exemple (le code n'est pas forcément correct) :
Code:
<?php
foreach(
$villes_BDD
as
$ville
)&
#58;
?>
img#ville_
<?php
echo
$ville
[
'id'
&
#93;;
?>
{
width:
<?php
echo
$ville
[
'width'
&
#93;;
?>
px;
height:
<?php
echo
$ville
[
'height'
&
#93;:
?>
px;
position: relative;
right:
<?php
echo
$ville
[
'coordX'
&
#93;;
?>
px;
bottom:
<?php
echo
$ville
[
'coordY'
&
#93;;
?>
px;
}
<?php
endfor;
?>
Ce qui pourrait donner, avec des valeurs fictives :
Code:
img#ville_1 {
width: 155px;
height: 120px;
position: relative;
right: 200px;
bottom: 650px;
}
img#ville_2 {
width: 50px;
height: 50px;
position: relative;
right: 680px;
bottom: 253px;
}
img#ville_3 {
width: 85px;
height: 50px;
position: relative;
right: 120px;
bottom: 100px;
}
...
Et tu peux mettre tous les attributs que tu veux, avec éventuellement une correspondance dans la base de donnée (par exemple une URL d'image).
Bon ça c'est la version basique. Le navigateur devant à chaque chargement vérifier la CSS, le serveur devra recréer sans cesse la même page. On peut optimiser en utilisant un système de cache, mais c'est déjà plus compliqué.
Tu peux aussi peaufiner en envoyant des infos supplémentaires au navigateur dans les headers avec PHP, ou créer des conditions, ou n'importe quel traitement de données avant de créer ta page CSS.
Ce premier apperçu tente simplement d'expliquer le fait que PHP ne sert pas qu'à générer du HTML.
Journalisée
What isn't remembered never happened...
Re: [PHP] Générer une grille de coordonnées
Norore
Animateurs
Hors ligne
Sexe:
Messages: 369
«
Répondre #6 le:
08 Février 2008 à 23:44:14 »
Citation de: "superjun"
Si c'est le cas, s'il doit vraiment entrer 1000 coordonnées à la main, c'est qu'elles ont quelque chose de particulier qui fait qu'un script ne pourrait pas les générer automatiquement. Sinon, un script pourrait aussi très bien fonctionner (génération aléatoire de coordonnées + insertion automatique dans la base de donnée) :? ... Donc, du coup, bah il va bien falloir qu'on puisse enregistrer les nouvelles données d'une façon ou d'une autre, et plus ce sera simple, mieux ce sera je pense, non :huh: ? A moins d'utiliser les fonctions mathématiques incluses dans php et de faire faire les calculs au script à chaque fois.
L'idée de départ est tentante mais du coup, je me demande ce qui serait le mieux au final : faire un fichier php pour le css, générer une grille ou un tableau de coordonnées ?
Si je ne suis pas claire dans ce que j'essaie d'exprimer par écrit, n'hésitez pas à me le dire, je sais que je m'exprime mal à l'écrit mais j'essaie de faire des efforts :ange ...
Journalisée
Citation de: Secondat de Montesquieu
Je me croirais le plus heureux des mortels si je pouvais faire que les hommes puissent se passer de leur préjugé.
Re: [PHP] Générer une grille de coordonnées
superjun
Posteur assidu
Hors ligne
Messages: 137
«
Répondre #7 le:
09 Février 2008 à 00:15:20 »
En fait, je crois que je comprends pas vraiment ce que tu veux faire. Je comprends pas ce que tu veux dire par "grille" et "tableau de coordonnées". Dans mon esprit, c'est trois fois la même chose, mais sous un autre angle.
Dans tous les cas, si tu dois recalculer les coordonnées ou je sais pas quoi, tu as l'ancienne méthode, éprouvée, de tout faire "à la main", et tu as celle d'utiliser un script.
La deuxième demande bien sûr une phase de configuration du script à chaque utilisation (quoique) (sans compter la programmation du script en lui-même), mais si elle est bien faite, elle permet d'économiser un temps précieux.
Il ne faut pas oublier non plus que si tu programmes un MMO, tu dois faire en sorte que l'environnement et le joueur puisse intéragir automatiquement avec les données. Donc un script est mieux indiqué.
Sinon, pour en revenir au tableau de coordonnées, c'est exactement la fonction qu'endossera la base de donnée à ce niveau. Le script qui générera le CSS sert uniquement de pont entre la base de donnée et l'affichage sur un écran. C'est ce qui permet de transformer les coordonnées en quelque chose de visible.
Si tu veux, on peut en discuter sur MSN (ce serait beaucoup plus pratique, en outre) mais il ne faut pas compter sur ma disponnibilité en semaine ^^
Journalisée
What isn't remembered never happened...
Re: [PHP] Générer une grille de coordonnées
Norore
Animateurs
Hors ligne
Sexe:
Messages: 369
«
Répondre #8 le:
09 Février 2008 à 09:54:19 »
Citation de: "superjun"
Il ne faut pas oublier non plus que si tu programmes un MMO, tu dois faire en sorte que l'environnement et le joueur puisse intéragir automatiquement avec les données. Donc un script est mieux indiqué.
Mais je ne programme pas de MMO moi :ange !
Citation
Si tu veux, on peut en discuter sur MSN (ce serait beaucoup plus pratique, en outre) mais il ne faut pas compter sur ma disponnibilité en semaine ^^
Ce serait avec plaisir mais ça fait 10 jours qu'on se partage le même PC à 4 chez moi, notre ADSL a laché et Orange mais trois ans à réparer
!
Journalisée
Citation de: Secondat de Montesquieu
Je me croirais le plus heureux des mortels si je pouvais faire que les hommes puissent se passer de leur préjugé.
Re: [PHP] Générer une grille de coordonnées
Patami
Administrateur
Hors ligne
Messages: 599
«
Répondre #9 le:
09 Février 2008 à 12:52:33 »
salut norore
étant donné que les différents éléments sur la carte n'ont pas une position logique dans un MMO (ils ne sont pas alignés d'une façon précise, ils ne peuvent pas être résumés par une fonction), que tu passes par le css pur ou que tu génères ce css à partir de données inscrites dans une base de données, l'encodage de départ des coordonnées de chaque élément est obligatoire. Ca prendra des heures, oui ..
Journalisée
Votre site 100% configurable en un tour de main, c'est désormais possible avec
KwsPHP
Pages: [
1
]
Haut de page
Oltana.net
>
Informatique Créatrice
>
Webmastering
> Fil de discussion:
[PHP] Générer une grille de coordonnées
« sujet précédent |
| sujet suivant »
Aller à:
Merci de choisir une destination:
-----------------------------
Préambule
-----------------------------
=> Infos, règles et fonctionnalités
-----------------------------
Informatique Pratique
-----------------------------
=> Hardware
=> Software
=> Gravure
=> Linux
-----------------------------
Informatique Créatrice
-----------------------------
=> Programmation
=> Art Graphique
=> Art Musical
=> Webmastering
-----------------------------
Tutoriels
-----------------------------
=> Grimoire
=> Demandes et propositions
-----------------------------
Discussion
-----------------------------
=> Taverne
=> Présentation
=> Culturama
=> Actualités
=> Petites Annonces
=> Boîte à idées
=> Flash Gamez
Chargement...