Scrolling RTS

Date 01/12/2010 14:40:00 | Sujet : Space wars

Troisième fonction assez simple à mettre en place

Cette fois il s'agit d'un scrolling à la fois simple et entièrement contrôlable et ce de manière la plus intuitive possible.

Nous avons donc plusieurs fonctions en 1 en fait :
- Déplacer la caméra en approchant la souris des bords de la fenêtre
- La déplacer en restant appuyé sur le clic du milieu pour la bouger exactement à l'endroit que l'on souhaite
- Et la dernière, de la contrôler en cliquant ou en restant appuyé sur la minimap.
- Déplacer la caméra avec les flèches du clavier

hop une petite image pour montrer la minimap :



Et comme d'habitude, allez dans la suite de l'article pour les explications
Le principe de base :

On a un premier objet qui se nomme "mask_scrolling" dans notre moteur.

C'est lui qui changera de position durant les différents évènements.
Le scrolling est alors toujours centré sur cet objet.

Il suffit donc de créer des évènements de détection des coordonnées de la souris, et avec un petit calcul mathématique, de modifier les coordonnées de notre objet masque.

Pour le clavier, il suffit d'augmenter ou de diminuer les coordonnée en x et en y en fonction des touches qui sont appuyés. Rien de plus facile en fait...

Pour la minimap, pareil, il suffit, en cas de clic sur la minimap, de transposer les coordonnées du clic pour que ca corresponde aux coordonnées dans le monde réel.
Exemple, ma minimap fait 100*100 pixel, mon monde en fait 5000*5000
en cliquant sur minimapx + 50x alors je fait via une règle de trois, une transposition qui me donne la coordonnée 2500x
la meme chose pour les y et je peux donc téléporter mon masque à cet emplacement.

Bref c'est une fonction incontournable, mais le petit bout de code que j'ai fait ne prend aucune valeur en "dur" ce qui me permet de modifier la taille de la résolution de l'écran comme j'en ai envie. Le joueur peut ainsi avoir plus ou moins de champs de vision sur son univers, les coordonnées sont toujours les bonnes



Cet article provient de Portfolio professionnel - Willay clement
http://willay.clement.free.fr

L'adresse de cet article est :
http://willay.clement.free.fr/modules/news/article.php?storyid=30