Créer une carte Wargame - 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 : Créer une carte Wargame (/showthread.php?tid=4648) |
RE: Créer une carte Wargame - Ter Rowan - 19-03-2010 bah je dirais déjà qu'il y a deux situations : la première : le machin vert est positionné uniquement (en bdd) sur le coin visible (x3-y3 dans ton exemple si x0-y0 est le personnage) si il déborde, c'est à cause de la taille de l'image (exemple un immeuble que l'on souhaite montrer comme "touchant les nuages", on le fait plus gros que la taille de la case) dans ce cas j'afficherais (s pour conditionnel, c'est ma vision, est elle pertinente ?) toute l'image => donc le joueur verrais tout le carée noir (sa ligne de vue) et tout le carré vert (l'image). Forcément cela impose, d'un point de vue ergonomie et esthétique d'avoir une zone d'affichage permettant ces débordements deuxième cas : le machin vert est positionné (en bdd) sur plusieurs zones(x3-y3 x3-y4 x4-y3 x4-y4) dans ce cas , sans présager de la manière de stocker*, je n'afficherais que ce qui est x3-y3, pour montrer que l'objet que l'on voit n'est pas complet (tu coupes l'image via les css comme pour des sprites au coin qui va bien pour le stockage plusieurs idées en vrac sans pertinence id_bat, x_gauche, y_bas, x_droite, y_droite (cle : id_bat) id_bat, x, y (cle : id_bat, x, y) RE: Créer une carte Wargame - Argorate - 19-03-2010 Je suis d'accord, moi j'ai utilisé se qui se rapproche de la deuxième méthode, j'aime pas l'idée de déborder. Ca me parait le mieux pour gérer les "collisions" par rapport au déplacement des joueurs... Mais j'ai un pb avec la première méthode, si comme tu dis tu n'as stocker en bdd que la position x3 y3 (c'est a dire que l'emplacement du morceau inférieur gauche), que se passe t-il si le bâtiment été dans le coin inférieur droit par exemple? Si tu stock que les coordonnée d'un des points du bâtiment, ça ne peux pas fonctionner. RE: Créer une carte Wargame - Ter Rowan - 19-03-2010 sauf si tu connais la largeur et la hauteur (sur la carte) du batiment genre caserne = largeur 3, hauteur 2 imaginons, si le joueur est en 0 0 une caserne est positionnée en x3 y-4 le joueur voit un rayon de trois cases Forcément tu définiras (soit en force soit en calcul) une hauteur max et une margeur max tu dois alors requêter en BDD autours du joueur sur : en x : de -(3+largeur max) jusqu'à +(3+largeur max) en y : de -(3+hauteur max) jusqu'à +(3+hauteur max) là tu captes tous les batiments, et tu vérifies si une partie de leur "anatomie" est visible ou non dans notre cas, la caserne est attrapée par la requete elle est positionnée en x3 y-4 donc elle couvre les zones (x3 y-3) (x3 y-4) (x4 y-3) (x4 y-4) (x5 y-3) (x5 y-4) ==> on verra un coin (x3 y-3) voilà j'espère être clair ^^ RE: Créer une carte Wargame - Sephi-Chan - 19-03-2010 Argorate, tu utilises un conteneur global avec un overflow: hidden. Ensuite, il suffit que chaque case référence l'objet qu'on pose dessus. Sephi-Chan RE: Créer une carte Wargame - Argorate - 19-03-2010 Oui d'accord, vous vous faites chi... avec des calcules sur les résultats des requêtes. :p Bref. je me demande si notre ami Taramis n'es pas perdu avec tout ça^^ RE: Créer une carte Wargame - QuentinC - 19-03-2010 Réponses en vrac Les navigateurs utilisés : potentiellement les mêmes que vous, à savoir IE8 et firefox 3.6 sous windows. Safari est utilisable sous mac, mais j'aime pas mac (ça c'est personnel). Beaucoup croient que les navigateurs utilisés sont exotiques : grosse erreur ! En fait, le lecteur d'écran est un logiciel qui s'installe par-dessus le système d'exploitation et qui s'interface avec les logiciels existants. Mais tous les logiciels les navigateurs en particulier ne sont pas tous compatibles. Par exemple, je ne peux pas utiliser chrome, safari ou opera sous windows, je suis limité à IE et firefox (déjà qu'il a fallu batailler pour avoir le support de firefox). De même, j'ai accès à MSOffice mais pas open office... tout ce qui est logiciel libre est en général mal supporté. Pendant que j'y suis, je vais encore casser une autre idée reçue en affirmant que les utilisateurs de lecteur d'écran ne naviguent en principe pas avec javascript désactivé et que ce dernier est tout à fait utilisable à condition qu'une série de précautions de base soient respectées. Ca va toujours mieux en le rappelant, c'est assez vite oublié. Bien que nous soyons vendredi et que c'est le jour du troll, je me suis un peu écarté du sujet. Je vais revenir à nos moutons. Cumuler tableaux+div risque de révléler un autre problème d'accessibilité classique : la position des éléments dynamiques dans la page. Je m'explique : vous avez probablement presque tous pensé à placer vos div en-dessous du tableau... eh bien c'est une erreur. Comme je l'ai déjà dit, les informations sont normalement lues linéairement dans l'ordre du DOM. Ainsi, je vais lire le tableau, et ensuite toutes les div. Résultat : une partie de l'information est sortie de son contexte, ce qui a de grandes chances de la rendre totalement incompréhensible. Il faudrait donc placer ces div à l'intérieur de la bonne cellule pour avoir l'information dans le bon contexte... mais je ne pense pas qu'il soit alors possible de déborder dans l'affichage. Joli dilemne en perspective pour ce week-end... N.B. Rappelez-vous de ça quand vous placez des div tout à la fin du code.... c'est pas AJAX lui-même qui pose un problème. Malheureusement, on le voit encore beaucoup trop souvent mais on ne peut pas vous en vouloir. Maintenant pour ce qui est du problème d'afficher les bâtiments en partie hors de la zone visible. Si on se trouve en 5;5 et qu'on a un champ de vision de 3, alors il faudrait ne pas se contenter de récupérer dans la base ce qui se trouve entre 2;2 et 8;8 uniquement, mais prendre un peu plus de recul en prenant 2 ou 3 cases de plus de chaque côté (de 0;0 à 10;10 par exemple). De cette façon, on récupère le bâtiment qui est en 0;0 et qui fait 3 cases de côté. Je vais terminer par un lien vers une excellente ressource sur le développement web et sur l'accessibilité et les standards en particulier : http://www.alsacreations.com/ RE: Créer une carte Wargame - Argorate - 19-03-2010 Justement, je n'aime pas cette methode du je rajoute arbitrairement X à la vision dans la requete sql pour (espérer) choper (tous) les batiments. Je prefere mon systeme qui permet de savoir quel partie d'un batiment est sur quel case.^^ Par contre je suis content de voir que j'ai accidentelement respecté ce que tu as dit pour les div. J'ai mis les div dans les cases du tableau, et aparament d'apres se que j'ai comprit c'est mieux pour la compréhension des non-voyants. C'est bon à savoir donc^^ RE: Créer une carte Wargame - Sephi-Chan - 19-03-2010 (19-03-2010, 06:47 PM)Argorate a écrit : Justement, je n'aime pas cette methode du je rajoute arbitrairement X à la vision dans la requete sql pour (espérer) choper (tous) les batiments. Je prefere mon systeme qui permet de savoir quel partie d'un batiment est sur quel case.^^ Je préfère mon approche, qui n'agrandit pas la zone recherchée. Il suffit juste d'ancrer l'objet sur la case avec une chaîne genre "TOP_BOTTOM". Ça ne coûte rien en ressource puisqu'on ne récupère rien en plus et il suffit d'affecter l'ancre au moment où l'on pose l'objet sur la carte. Sephi-Chan |