gpt4 book ai didi

java - 一个变量减少而另一个变量增加

转载 作者:行者123 更新时间:2023-12-02 03:37:25 25 4
gpt4 key购买 nike

我正在用Java编写一个小游戏,我遇到的问题之一是随着玩家角色移动速度的增加而增加动画的速度。

要提高动画速度,必须减少动画每帧的显示时间,最慢速度为“0.2”,最高速度为“0.1”。

我当前的代码可以工作,但显然有点笨拙。不幸的是,我想不出一个优雅的解决方案来替代它。

public float getAnimationSpeed()
{
float _absVel = Math.abs(_vel.x);

if(_absVel > 10 && _absVel <= 50)
{
return 0.1f;
}
else if(_absVel > 50 && _absVel <= 150)
{
return 0.075f;
}
else if(_absVel > 150)
{
return 0.05f;
}
else
{
return 0f;
}
}

您可能会注意到该函数还可能返回零,用于将动画显示为静止(例如,当玩家角色的速度为 0 时,动画不应播放)。

最佳答案

你可以更加动态,而不是用“步骤”推理:

public float getAnimationSpeed()
{
float _absVel = Math.abs(_vel.x);
float offset = 0; //whatever you want

if(_absVel<=10){
return 0f;
}
else{
return ((1/_absVel)+offset)f;
}
}

您当然可以将“1”和偏移量更改为与您想要的结果匹配的另一个值。

希望对你有帮助!

PS/您可能还想检查结果是否超过最大值或低于最小值,但我没有这样做。

关于java - 一个变量减少而另一个变量增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37281351/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com