Мне было интересно, почему мой код не работает полностью.
int sinval = (int)Math.Sin(gameTime.ElapsedGameTime.TotalSeconds) * 100;
mSprite.Position += (new Vector2(5 * sinval, 0));
У меня есть это в моем методе обновления, и на самом деле я просто хотел какое-то доказательство концепции. Во всяком случае, то, что я хотел сделать, это просто немного колебаться по оси X. Но по какой-то причине он добавляет синваль только один раз в начале, поэтому каждый раз, когда я изменяю одно из значений в этом коде, у него появляется новая начальная позиция, но это все.
У меня это тоже есть в методе обновления.
Новый код:
int sinval = (int) (Math.Sin(gameTime.ElapsedGameTime.TotalSeconds) * 61);
mSprite.Position += (new Vector2(25 * sinval, 0));