locked
Ajuda no metodo Content.Load RRS feed

  • Pergunta

  • Olá a todos,

    Meu problema é o seguinte:

    Eu tenho uma classe chamado Player.cs que tem esse metodo

    public void Initialize(Texture2D texture, Vector2 position)
            {
                PlayerTexture = texture;           
                Position = position;
                Active = true;
                Health = 100;
            }

    Na classe Game1.cs no metodo protected override void LoadContent() eu coloquei assim:

               {         
                spriteBatch = new SpriteBatch(GraphicsDevice);
                Vector2 playerPosition = new Vector2(GraphicsDevice.Viewport.TitleSafeArea.X, GraphicsDevice.Viewport.TitleSafeArea.Y+
                                                    GraphicsDevice.Viewport.TitleSafeArea.Height / 2);
                player.Initialize(Content.Load<Texture2D>("player"), playerPosition);
            }

    Quando eu tento rodar eu recebo a mensagem Object reference not set to an instance of an object. apontando para essa linha player.Initialize(Content.Load<Texture2D>("player"), playerPosition);

    Já tentei colocar @"Content\player", mas quando eu faço isso, o VS diz que o arquivo não foi encontrado.

    Detalhe: No scopo da classe game1.cs eu coloquei Player player e no metodo Initialize() eu coloquei player = new Player


    Desde já agradeço :)


    We may be human, but we're still animals

    sexta-feira, 23 de março de 2012 21:52

Respostas

  • Acontece que o seu método Initialize esta tentando executar em cima de player, que é null. Voce deve, antes de chamar o método Initialize, instanciar um objeto da classe Player.

    player = new Player();

    Ou seja lá como é o seu construtor.

    Lembrando que o seu método LoadContent é executado no momento em que vc chama o base.Initialize(), e não após a execução completa do método Initialize, ou seja, você deve estar instanciando player depois de chamar o base.Initialize(), causando a referência para nulo na LoadContent.

    • Editado Alexandre Z. Chohfi quarta-feira, 30 de maio de 2012 19:17
    • Marcado como Resposta BobBC sábado, 10 de novembro de 2012 18:35
    quarta-feira, 30 de maio de 2012 19:15