Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 5 sur 5
  1. #1
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : avril 2012
    Messages : 18
    Points : 1
    Points
    1

    Par défaut Créer une ligne avec collisions

    Bonjour

    J'ai réussi a faire ceci :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public Rectangle lineRectangle;
     
    private void DrawLine(Vector2 p1, Vector2 p2)
    {
        float angle = (float)Math.Atan2(p1.Y - p2.Y, p1.X - p2.X);
        float dist = Vector2.Distance(p1, p2);
     
        lineRectangle = new Rectangle((int)p2.X, (int)p2.Y, (int)dist, 1);
        Main.spriteBatch.Draw(Main.rectTexture, lineRectangle, null, Color.Black, angle, Vector2.Zero, SpriteEffects.None, 0);
    }
    Je vois bien la ligne mais le problème c'est que le rectangle n'est pas bon. Il est droit et ne gère pas la rotation.

    Comment puis-je faire pour palier a ce problème svp. Est-ce que si je créer une ligne avec les matrices sa peux fonctionner ?

  2. #2
    Responsable 2D/3D/Jeux

    Avatar de LittleWhite
    Homme Profil pro Alexandre Laurent
    Ingénieur développement logiciels
    Inscrit en
    mai 2008
    Messages
    16 706
    Détails du profil
    Informations personnelles :
    Nom : Homme Alexandre Laurent
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : mai 2008
    Messages : 16 706
    Points : 86 131
    Points
    86 131

    Par défaut

    Bonjour,

    Avez vous tenté de déboguer pour voir si l'angle n'était pas toujours à zéro ?
    Vous souhaitez participer à la rubrique 2D / 3D / Jeux ? Contactez-moi
    La rubrique a aussi un blog !

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : avril 2012
    Messages : 18
    Points : 1
    Points
    1

    Par défaut

    Citation Envoyé par LittleWhite Voir le message
    Bonjour,

    Avez vous tenté de déboguer pour voir si l'angle n'était pas toujours à zéro ?
    Bonsoir.

    Oui, l'angle n'est pas toujours à 0. Ça varie.

  4. #4
    Membre Expert

    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    février 2006
    Messages
    753
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : février 2006
    Messages : 753
    Points : 1 555
    Points
    1 555

    Par défaut

    Dans draw le paramètre ou tu as mis Vector2.Zero correspond au centre de rotation pour ce que tu souhaites faire le centre doit correspondre au centre de la texture !

    ( 0,0 = top supérieur gauche de la texture )
    Suivez le développement de Chibis Bomba
    twitter : https://twitter.com/MoD_DiB
    DevBlog : http://moddib.blogspot.fr/

  5. #5
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : avril 2012
    Messages : 18
    Points : 1
    Points
    1

    Par défaut

    Oui je sais tout sa.

    Sa donne ceci :



    Mais je peux pas faire sa :

    Code :
    if(lineRectangle.Intersects(/*un autre rectangle*/))
    Car le rectangle est droit et il ne gère pas la rotation.
    Je pense pas qu'un rectangle peux avoir une rotation.

    Avez vous une solution svp ?

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •