Fonction selection au lasso

Date 29/11/2010 14:47:31 | Sujet : Space wars

Bon pour cette fonction, je n'ai pas vraiment trop lutté...

Le gameplay dans tout RTS est assez simple, vous pouvez selectionner vos unités, soit en cliquant dessus, soit en restant appuyé pour afficher un carré de selection qui selectionnera toutes les unités qui seront prises dans ce fameux lasso.

Voici une image de la fonction une fois implémenté dans le jeu :



Comme vous pouvez le voir les unités sont sélectionnées dès que le lasso les "touchent"

La fonction est expliqué en détail dans la suite de l'article.
Il suffit de 8 lignes et de 5 objets pour effectuer cette sélection. Le principe :

- Nous avons 5 objets :
* Un objet carré qui sera redimensionné pour correspondre au contenu de notre lasso. Il va servir de remplissage et de masque pour tester les collisions et sélectionner les unités.
* 4 Petits objets qui seront également redimensionnés et dont la position sera changé pour faire la bordure plus claire que l'on voit autour de notre carré.
- Au moment du clic gauche de souris, nous allons par défaut, dé-sélectionner toutes les unités et sauvegarder la position de clic dans des variables créer à l"'intérieur de l'objet cadre.
- En restant appuyé sur le clic gauche de la souris, on fait apparaitre le cadre et on le repositionne et on le redimensionne en fonction de la position du premier clic de souris et de la position actuelle (Oui puisque pour faire apparaitre le cadre, il faut l'étirer)
- On teste alors la superposition de notre cadre avec chaque unité et s'il collision il y a, on la sélectionne.
- Une unité est considérée sélectionné à partir du moment où son flag numéro 1 est à ON
- Il suffit de masquer le cadre si le joueur ne tient plus le clic gauche appuyé.

Et voilà c'est pas plus bête que ca ! il y a deux ou trois chose à rajouter, comme un flag à rajouter pour gérer le clic sur une unité (clic simple donc le cadre ne s'affichant pas, il ne fonctionne pas) ou pour sélectionner automatiquement toutes les unités en faisant Ctrl+A

Si vous n'avez pas compris, n'hésitez pas à me demander des éclaircissement en commentaires, je mettrais à jour l'article



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=28