XNA ゲームで矢を投げようとしていますが、良い放物線を実現するのに苦労しています。
必要なもの:
- 強く握れば握るEnterほど矢は飛んでいきます。
- 矢印の角度は常に同じ45 度です。
これは私がすでに持っているものです:
private float velocityHeld = 1f;
protected override void Update(GameTime gameTime)
{
if (Keyboard.GetState().IsKeyDown(Keys.Enter) && !released)
{
timeHeld += velocityHeld;
holding = true;
}
else
{
if (holding)
{
released = true;
holding = false;
lastTimeHeld = timeHeld;
}
}
if (released && timeHeld > 0)
{
float alpha = MathHelper.ToRadians(45f);
double vy = timeHeld * Math.Sin(alpha);
double vx = timeHeld * Math.Cos(alpha);
ShadowPosition.Y -= (int)vy;
ShadowPosition.X += (int)vx;
timeHeld -= velocityHeld;
}
else
{
released = false;
}
}
timeHeld
私の質問は、完全な放物線を作成するために速度 ( ) を失ったときに矢印を下に移動させるにはどうすればよいですか?