XNA 3.1 - 不确定如何在敌人职业中添加矩形



尝试在这里制作2D横向卷轴

我对编程很陌生。我试图遵循指南和教程,但运气不佳。我知道这很简单,但我只是想不通。

我为游戏中的所有不同角色提供了多个职业。

我有一个矩形,用于玩家将控制的主要精灵角色。

但问题是我想在敌人精灵周围添加矩形,以便我可以在游戏中添加碰撞。

public class enemyRocks
{
    public Texture2D texture;
    public Vector2 position;
    public Vector2 velocity;
    public Rectangle rockRectangle; 
    public bool isVisible = true;
    Random random = new Random();
    int randX;
    public enemyRocks(Texture2D newTexture, Vector2 newPosition)
    {
        texture = newTexture;
        position = newPosition;

        randX = -5;
        velocity = new Vector2(randX, 0);
    }

    public void Update(GraphicsDevice graphics) 
    {
        position += velocity;
        if (position.X < 0 - texture.Width)
            isVisible = false;
    }
    public void Draw(SpriteBatch spriteBatch)
    {
        spriteBatch.Draw(texture, position, Color.White);
    }
}

我真的尝试了很多方法,但它似乎不起作用。

到目前为止,我

所做的一切都给了我一个"nullreferenceexception is unhandled"错误。

我会接受任何需要改进的批评。

谢谢你的帮助。

你需要精

灵上的边界框属性

new Rectangle((int)Position.X,(int)Position.Y,texture.Width, texture.Height);

然后检查碰撞

if (Sprite1.BoundingBox.Intersects(Sprite2.BoundingBox))

但请确保在任何使用纹理的函数之前加载纹理。 我想您的错误发生在更新功能上,您尝试获取未加载的纹理宽度。

相关内容

  • 没有找到相关文章

最新更新