Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: [SFML 2.0] Shooting projectiles  (Lu 2020 fois)

0 Membres et 1 Invité sur ce sujet

Hunikel

  • Newbie
  • *
  • Messages: 3
    • Voir le profil
    • E-mail
[SFML 2.0] Shooting projectiles
« le: Mai 26, 2013, 05:23:18 pm »
Bonsoir, j'ai une question s'il vous plait, je suis actuellement entrain de programmer un jeu avec SFML.
J'ai mis ci joint une image de mon jeu.

J'ai un problème pour tirer les projectiles et comment faire pour la collision avec les cibles en haut.

J'ai 5 Classes, une nommé Game qui gère tout le jeu, Ball et Cercle qui représentes les cibles, Player qui représente le vaisseau qui est fixe mais qui peux rotate, et class Shoot qui gère mon Sprite de projectile,

Dans le Game j'ai fait 3 vecteurs de Ball Cercle ainsi que de Shoot.

Donc je ne sais pas comment faire afin de tirer plusieurs projectiles tout en changeant leur angle en dépendant de l'angle de rotation de mon vaisseau ainsi que la collision avec Ball et Cercle :/ si quelqu'un pouvait me dire comment faire !!
Merci Cordialement.


[attachment deleted by admin]

Cmdu76

  • Full Member
  • ***
  • Messages: 194
    • Voir le profil
Re : [SFML 2.0] Shooting projectiles
« Réponse #1 le: Mai 27, 2013, 05:25:44 pm »
Tu dois tester ajouter à chaque projectile un sf::Rect<T> qui contient le rectangle qui englobe ton sprite.
Ensuite tu testes avec la méthode intersect des sf::Rect<T>

Voilà pour les collisions, ensuite pour l'angle il te faut donc l'angle du vaisseau, et tu donnes cet angle aux projectiles, et je te conseil d'utiliser le cercle trigonométrique, donc tu crée un Vector2 contenant des valeures comprises entre -1 et 1 pour x et y qui corresponde ;)
Si tu ne sais pas ce qu'est le cercle trigonométrique (Etude<1ère), Google est ton ami ;)

Hunikel

  • Newbie
  • *
  • Messages: 3
    • Voir le profil
    • E-mail
Re : [SFML 2.0] Shooting projectiles
« Réponse #2 le: Mai 27, 2013, 09:52:19 pm »
Merci infiniment !! :) je vais faire ça ce soir !