XNA tracciare linee

di il
7 risposte

XNA tracciare linee

Come si fa in Xna a tracciare delle linee?

7 Risposte

  • Re: XNA tracciare linee

    Ciao Orso Bruno

    Per tracciare delle linee in XNA il metodo più efficiente è usare DrawUserPrimitives
    
    graphics.GraphicsDevice.DrawUserPrimitives<VertexPositionColor>( PrimitiveType.LineList, vertices, 0, numLines );
    
    Devi dichiarare un array di vertici e poi fare la chiamata che ti ho scritto, comunque ci sono altri sistemi.
  • Re: XNA tracciare linee

    Se esistesse un sistema più pratico
    ..
  • Re: XNA tracciare linee

    Per tirare delle linee senza ricorrere alla primitive potresti usare questa funzione:
    
    void DrawLine(SpriteBatch batch, Texture2D blank, float width, Color color, 
               Vector2 point1, Vector2 point2)
    {
          float angle = (float)Math.Atan2(point2.Y - point1.Y, point2.X - point1.X);
          float length = Vector2.Distance(point1, point2);
    
          batch.Draw(blank, point1, null, color, angle, Vector2.Zero, 
                new Vector2(length, width), SpriteEffects.None, 0);
    }
    
    in pratica allunga una texture, dentro 'blank' passi una Texture2D di dimensioni 1x1.
  • Re: XNA tracciare linee

    Grazie dopo la provo. Per curiosità che formati usi per le immagini?
  • Re: XNA tracciare linee

    In realtà non ho un motivo per preferire un formato particolare, comunque di solito uso png.
  • Re: XNA tracciare linee

    E per disegnare un rettangolo ?
  • Re: XNA tracciare linee

    Puoi usare sempre il sistema di stirare una immagine 1x1, ad esempio:
    
    spriteBatch.Draw(m_white_1x1, new Vector2(100, 100), null, Color.Maroon, 0, Vector2.Zero,
        new Vector2(200, 200), SpriteEffects.None, 0);
    
Devi accedere o registrarti per scrivere nel forum
7 risposte