Sto lavorando al gioco. Voglio evidenziare un punto sullo schermo quando succede qualcosa.Draw Rectangle with XNA
ho creato una classe per fare questo per me, e ha trovato un po 'di codice per disegnare il rettangolo:
static private Texture2D CreateRectangle(int width, int height, Color colori)
{
Texture2D rectangleTexture = new Texture2D(game.GraphicsDevice, width, height, 1, TextureUsage.None,
SurfaceFormat.Color);// create the rectangle texture, ,but it will have no color! lets fix that
Color[] color = new Color[width * height];//set the color to the amount of pixels in the textures
for (int i = 0; i < color.Length; i++)//loop through all the colors setting them to whatever values we want
{
color[i] = colori;
}
rectangleTexture.SetData(color);//set the color data on the texture
return rectangleTexture;//return the texture
}
Il problema è che il codice di cui sopra è chiamato ogni aggiornamento, (60 volte al secondo) e non è stato scritto pensando all'ottimizzazione. Deve essere estremamente veloce (il codice sopra blocca il gioco, che ha solo il codice skeleton in questo momento).
Qualche suggerimento?
Nota: qualsiasi nuovo codice sarebbe ottimale (WireFrame/Fill sono entrambi validi). Mi piacerebbe poter specificare il colore.
Grazie! funziona come un fascino. – Ben