我想在我的XNA遊戲中拋出一個箭頭,但我很難嘗試實現一個良好的拋物線。創建固定角度的拋物線軌跡
我需要什麼:
- 你越握輸入更強的箭頭去。
- 箭頭角度將始終相同,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
),以一個完美的拋物線?
提示:在地球上,拋出的物體傾向於拋出拋物線,因爲由於重力引起的加速度不斷地改變物體的速度。 – Kevin
我明白了,所以你告訴我我需要實施重力法嗎? – Moondustt
當試圖創建逼真的運動時,通常有一個好主意。 – mcmonkey4eva