Beiträge von Animal9

    Bei mir funktioniert der Code leider nicht. Ich bekomme ab dem ersten { im Update-Teil eine Fehlermeldung. Was ist denn falsch? Habe ich etwas vergessen?




















    namespace WindowsGame



    {



    public class Game1 : Microsoft.Xna.Framework.Game



    {




    GraphicsDeviceManager graphics;




    SpriteBatch spriteBatch;




    Texture2D texture;




    Vector2 enemyPos;




    Color[] col1d;




    Color[,] col2d;






    public Game1()




    {




    graphics = new GraphicsDeviceManager(this);




    Content.RootDirectory = "Content";




    }






    protected override
    void Initialize()




    {






    base.Initialize();




    }






    protected override
    void LoadContent()




    {




    spriteBatch = new SpriteBatch(GraphicsDevice);




    texture = Content.Load<Texture2D>("Resetti");




    }






    protected override
    void UnloadContent()




    {







    }






    protected override
    void Update(GameTime
    gameTime)




    {




    Color[,] Tex2colArr(Texture2D
    texture)




    {




    Color[] col1d = new Color[texture.Width
    * texture.Height];




    texture.GetData(col1d);






    Color[,] col2d = new Color[texture.Width,
    texture.Height];




    for (int
    x = 0; x < texture.Width; x++)



    for
    (int y = 0; y < texture.Height; y++)



    col2d[x, y] = col1d[x + y *
    texture.Width];






    return col2d;




    }








    bool CheckCollision(Color[,] col)




    {




    MouseState ms = Mouse.GetState();




    Matrix mat = Matrix.CreateTranslation(enemyPos.X,
    enemyPos.Y, 0) * Matrix.Identity;








    if (ms.X >= enemyPos.X &&
    ms.X <= enemyPos.X + texture.Width &&



    ms.Y >=
    enemyPos.Y && ms.Y <= enemyPos.Y + texture.Height)




    {



    for
    (int x = 0; x < col2d.GetLength(0); x++)



    for
    (int y = 0; y < col2d.GetLength(1); y++)



    {



    Vector2 pos = Vector2.Transform(new Vector2(x, y),
    mat);



    if (pos == new Vector2(ms.X, ms.Y))



    if (col[x, y].A > 0)



    {



    return true;



    }



    else



    {



    return false;



    }



    }




    }




    return false;




    }









    base.Update(gameTime);




    }






    protected override
    void Draw(GameTime gameTime)




    {




    GraphicsDevice.Clear(Color.CornflowerBlue);






    base.Draw(gameTime);




    }



    }



    }