IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XNA/Monogame Discussion :

Créer une ligne avec collisions


Sujet :

XNA/Monogame

  1. #1
    Futur Membre du Club
    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 : 7
    Points
    7
    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
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    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

    Ma page sur DVP
    Mon Portfolio

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

  3. #3
    Futur Membre du Club
    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 : 7
    Points
    7
    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
    1 031
    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 : 1 031
    Points : 3 092
    Points
    3 092
    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
    Futur Membre du Club
    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 : 7
    Points
    7
    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