Projet C++/SDL

Projet C++/SDL - C++ - Programmation

Marsh Posté le 02-02-2007 à 19:36:41    

Bonjour tout le monde.
 
Jsuis en plein projet en langage C++ et jme suis mis au SDL.
 
Donc j'ai réussi à faire du scrolling avec la souris pour me déplacer dans une image qui fait office de map.
 
J'aimerais maintenant pouvoir rajouter une image par exemple où je veux dans la map.
Je ne sais pas du tout comment m'y prendre. Quand j'ajoute une image par exemple elle "suit" la souris car les coordonnées corespondent à celles de la fenêtre et non de la map.
Je sais pas si je suis très clair ...  :)  
Pour info, le projet consiste à faire évoluer un monde automatiquement avec toutes sortes de personnages, de ressources ... , en gros ca doit faire comme dans Civilisation:Call To Power mais sans gérer les personnages.
 
Si vous avez une piste pour cette question de scrolling
Merci d'avance
 

Reply

Marsh Posté le 02-02-2007 à 19:36:41   

Reply

Marsh Posté le 03-02-2007 à 13:05:32    

ju65 a écrit :

Bonjour tout le monde.
Je ne sais pas du tout comment m'y prendre. Quand j'ajoute une image par exemple elle "suit" la souris car les coordonnées corespondent à celles de la fenêtre et non de la map.
Je sais pas si je suis très clair ...  :)  


 
Je ne suis pas sur d'avoir compris ce que tu veux mais je pense que tu dois créer 2 systèmes de coordonnées.
Un premier système global dont l'origine sera (par exemple) le coin en bas à gauche de ta map et un deuxième local qui correspond à ton affichage à l'écran. Le deuxième étant bien sur calculable en fonction du premier. Ainsi, ton image aura des coordonées dans le système global et en calculant celles dans le repère local, tu sauras si elle est visible à l'écran ou pas et donc si tu dois l'afficher.
En réalité, il s'agit d'un simple changement de repère par translation.


Message édité par ptitchep le 03-02-2007 à 13:07:00

---------------
deluser --remove-home ptitchep
Reply

Marsh Posté le 24-02-2007 à 15:55:58    

Merci ptitchep pour ta réponse. J'arrive pas vraiment à créer ces 2 systèmes de coordonnées donc j'ai cherché une autre solution.
 
Bon j'ai continué à développer un peu cette map.
J'ai simplifié le truc en gérant les déplacements de la map pour l'instant avec le clavier.
 
La map est constitué de plusieurs images d'hexagones. Quand j'appuie sur une des flèches du clavier l'ensemble des images se déplace en conséquence.
Et bien entendu se pose le problème des coordonnées négatives : les éléments se superposent.
 
Pour résoudre ce problème je pensais à cette solution :
Créer la map à partir de x=100 et y=200 (map de 100*200) comme cela en décalant toute la map ca ne dépassera pas les coordonnées x=0 et y=0. Mais pour cela il faudrait que je puisse "dire" à la vue de se mettre aux coordonnées [100;200] par défaut et non pas [0;0]. Si vous avez une idée pour gérer la vue par défaut de l'écran et donc pour effectuer ce décalage.
 
Qu'en pensez-vous ?
Avez-vous une piste ?
   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed