尝试在这里制作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))
但请确保在任何使用纹理的函数之前加载纹理。 我想您的错误发生在更新功能上,您尝试获取未加载的纹理宽度。