Envoyé par : Raphael
Date : 12/06/2007 10:21
Bonjour, pour l'instant, je me débrouille pas trop mal en XUL/JS/SQLite3, ce qui me permet de faire de très belles applications pour gérer des données, mais j'aimerais me lancer dans la conception d'un jeu se basant sur mes données :
En gros, mon jeu peut s'assimiler grosso-modo à un jeu d'échecs : J'ai des images .jpg de cartes à jouer que je veux pouvoir déplacer sur mon terrain de jeu, un peu comme on déplace des pions sur un damier.
Et c'est là que je me pose plusieurs questions : Que devrais-je utiliser ? SVG ? Je ne connais pas bien le format et pour moi, ça se résume encore à un format de fichier vectoriel, sans dégradation en aggrandissement... Mais j'ai aussi vu quelques "jeux" comme ceux créés par Yves du forum, notamment Babyshapes qui semble ressembler à ce que je veux faire (Voir la discussion sur le forum). Et Yves semble utiliser des stack plutôt que SVG...
Autre point, le Drag N Drop : Ce n'est pas primordial, je peux commencer par utiliser des menus contextuels pour déplacer mes cartes mais ce serait quand même plus intuitif avec du Drag N Drop. Il me semble avoir lu qu'on pouvait s'y prendre de plusieurs manières :
Quelles sont les différences ? Performances ? Simplicité d'emploi ? C'est pour une application locale avec XulRunner...
Voilà donc les questions que je me pose sur ce nouvel univers qui s'ouvre à moi, merci d'avance pour vos conseils et votre aide.
Envoyé par : chBok
Date : 12/06/2007 13:26
J'adore ce genre de projet pour apprendre les mécanismes XUL. Je n'ai pas les réponses à tes questions, mais surtout n'hésite pas à tenir informer le forum de tes progrès.
Envoyé par : thefab
Date : 12/06/2007 14:06
Salut,
A mon avis SVG est intéressant si tes cartes sont en SVG (ce qui n'est pas le cas je crois), donc je pense qu'il vaut mieux utiliser des stacks.
Tu peux regarder comment c'est fait dans Cards, une extension qui permet de jouer à plein de jeux de cartes avec Drag & Drop.
Envoyé par : Raphael
Date : 12/06/2007 14:16
chBok > Merci, je ne manquerai pas de vous tenir informés de mes progrès.
thefab > Comment qu'il a l'air bien ce petit lien et cette petite extension, exactement ce qu'il me faut pour décortiquer ce dont j'ai besoin, merci beaucoup.
Envoyé par : Raphael
Date : 13/06/2007 23:25
Cette extension est une mine d'infos mais j'ai beaucoup de mal à distinguer les passages qui m'intéressent...
J'en demande peut-être beaucoup, mais serait-il possible d'avoir une petite et simple démonstration montrant comment se passe le Drag N Drop et la récupération d'Events par exemple :
Imaginons :
Voilà, un truc en JS tout simple qui montre comment on peut déplacer un objet sans aucune action, et comment déclencher une action si jamais on le dépose dans une zone déterminée.
Désolé si j'en demande beaucoup, mais c'est vrai que ça pourrait être vraiment utile, notamment pour moi XD
Merci d'avance si jamais vous vous y attelez, ne serait-ce que sommairement.
Envoyé par : thefab
Date : 15/06/2007 13:32
Je t'ai fait un exemple tout simple d'un drag & drop de cartes.
Il est trés buggé: pas de gestion d'erreur, pas de vérification de l'élément déplacé, positionnement incorrect des cartes en x, y. En attendant mieux...
Envoyé par : Raphael
Date : 15/06/2007 13:46
Alors là, c'est vraiment GE-NIAL ! Ca va me faire avancer d'un pas de géant dans mes recherches !
Je ne sais comment te remercier, je vais vraiment pouvoir bien travailler avec cette base... Me reste à comprendre comment gérer les évènements quand on lâche la carte dans une zone particulière (je sais pas si ça va se faire par coordonnées (x,y) pures ou bien si XUL est assez "intelligent" pour savoir si je suis sur élément définie).
Merci énormément =D
Envoyé par : thefab
Date : 15/06/2007 14:07
Je ne sais comment te remercier
Mais de rien, c'est avec plaisir. Fais nous simplement partager ton application qui a l'air bien sympathique...
pour savoir si je suis sur élément définit
Dans ce cas il vaut mieux avoir plusieurs Observers différents (voir partie en commentaire dans le JS: CardObserver et GameObserver), par exemple un qui démarre la session de drag & drop et un/plusieurs autre(s) qui gère le drop sur différents éléments de l'interface, comme ça tu peux avoir différentes actions en fonction de la zone de drop.
Envoyé par : thefab
Date : 18/06/2007 21:43
J'ai mis à jour l'exemple de drag & drop de cartes, correction des coordonnées x et y, ajout d'un zone de drop.
si XUL est assez "intelligent" pour savoir si je suis sur élément définie.
Oui, il suffit d'ajouter un observer pour la zone en question
Envoyé par : Raphael
Date : 18/06/2007 21:47
Oh làlà, un énorme merci encore à toi ! Tous mes problèmes se résolvent simultanément, c'est génial (tabbrowser, et maintenant un exemple de Drag & Drop de cartes).
Merci merci merci =)
Il n'est plus possible de poster des messages dans ce forum.
Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.
Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™
sont des marques de la fondation Mozilla.