我正在做一个 XNA 项目。我画了一个背景(天际线),我想从左到右移动一朵云。每当我使用 int 时这都有效,但是运动太快了,所以我想使用双精度。是否可以用 double 移动 x 上的云?
public int GetRandomSpeedX() // Random speed pos-x
{
int speedX = r.Next(1, 100);
return speedX;
}
protected override void Update(GameTime gameTime)
{
if (cloudX <= 500)
{
cloudX += GetRandomSpeedX();
}
else
{
cloudX = 0;
}
base.Update(gameTime);
}
如果我使用双精度,它会说:不能将双精度类型隐式转换为 int
而且我不能将 cloudX 更改为 double,因为 spriteBatch 函数只需要 int !
有什么帮助吗?