1
我很好地調整了我的2D平臺遊戲物理,當我添加慢動作時,我意識到它是搞砸了。2D平臺重力物理與慢動作
我遇到的問題是,由於某些原因物理學仍然取決於幀率。所以當我縮小時間時,每個力量也縮小。所以跳躍力量被縮小了,這意味着在慢動作中,角色垂直跳過較小的高度,並且重力也縮小,因此角色在空中進一步下降而不下降。
我送更新功能,希望有人能幫助我在這裏(I分離的垂直(跳躍,重力),並在平臺上行走(任意行走方向 - 平臺可以是任意角度的)載體):
characterUpdate:(float)dt
{
//Compute walking velocity
walkingAcceleration = direction of platform * walking acceleration constant * dt;
initialWalkingVelocity = walkingVelocity;
if(isWalking)
{
if(!isJumping)
walkingVelocity = walkingVelocity + walkingAcceleration;
else
walkingVelocity = walkingVelocity + Vector(walking acceleration constant * dt, 0);
}
// Compute jump/fall velocity
if(!isOnPlatform)
{
initialVerticalVelocity = verticalVelocity;
verticalVelocity = verticalVelocity + verticalAcceleration * dt;
}
// Add walking velocity
position = position + (walkingVelocity + initialWalkingVelocity) * 0.5 * dt;
//Add jump/fall velocity if not on a platform
if(!isOnPlatform)
position = position + (verticalVelocity + initialVerticalVelocity) * 0.5 * dt;
verticalAcceleration.y = Gravity * dt;
}
你能解釋一下「dt」是什麼嗎? – 2010-06-18 16:43:42
自上一幀 – 2010-06-18 23:55:32
以來的時間通過從所有加速度中去除時標(dt)來修正它。 – 2010-06-19 05:53:38