p
u
b
l
i
c
i
t
é
publicité
  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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    Ingénieur développement logiciels
    Inscrit en
    mai 2008
    Messages
    18 578
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : mai 2008
    Messages : 18 578
    Points : 108 584
    Points
    108 584
    Billets dans le blog
    3

    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
    827
    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 : 827
    Points : 1 930
    Points
    1 930

    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ?

Discussions similaires

  1. [DATA] Comment créer une table avec une ligne pour chaque individu
    Par andrea0 dans le forum SAS Base
    Réponses: 7
    Dernier message: 10/10/2013, 13h18
  2. [MySQL-5.5] Créer une ligne avec un update dans table jointe
    Par Leduc08 dans le forum Requêtes
    Réponses: 0
    Dernier message: 03/07/2013, 16h18
  3. Créer une DataGridView avec des lignes instructions
    Par dragondumond dans le forum VB.NET
    Réponses: 20
    Dernier message: 28/03/2013, 09h47
  4. Réponses: 3
    Dernier message: 16/04/2008, 08h39
  5. supprimer une ligne avec cle etrangere
    Par BaBas dans le forum Langage SQL
    Réponses: 4
    Dernier message: 15/07/2003, 11h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo