なぜ私のコードが完全に機能していないのか不思議でした。Math.Sinを使用したXNAの位置変更
int sinval = (int)Math.Sin(gameTime.ElapsedGameTime.TotalSeconds) * 100;
mSprite.Position += (new Vector2(5 * sinval, 0));
私は私の更新方法でこれを持って、本当に私はコンセプトの証明のいくつかの並べ替えを望んでいました。とにかく、私がやりたかったことは、基本的にX軸上でちょっと振っただけでした。しかし何らかの理由で、それは冒頭で一度だけsinvalを追加するので、いつでもこのコードの値の1つを変更すると、新しい開始位置がありますが、それはそれです。
私はこれも更新方法で使用しています。
新しいコード:
int sinval = (int) (Math.Sin(gameTime.ElapsedGameTime.TotalSeconds) * 61);
mSprite.Position += (new Vector2(25 * sinval, 0));
はい、あなたは絶対に正しいですが、それでも振動するようには見えません。それは今動く。 – ksandarusi
@ksandarusi:それは今どのように動いているのですか? –
それはまっすぐに移動します – ksandarusi