假设您的健康数字范围为0-100,您可以使用以下公式将滑块值sliderValMap到健康值healthVal: healthVal = (sliderVal / 15) * 100 // 100 is the max health 例如,如果滑块值为7,则对应的运行状况值为: healthVal = (7 / 15) * 100 = 46.67 然后,您可以使用此计算出的健康值来增加或减少您的当前健康值,具体取决于滑块的方向。 例如,如果滑块用于增加健康状况,您可以将计算出的健康状况值添加到您的当前健康状况数字: newHealthNum = currentHealthNum + healthVal 如果滑块用于减少健康值,您可以从当前健康值中减去计算出的健康值: newHealthNum = currentHealthNum - healthVal 请注意,如果您的健康状况数值为整数值,则可能需要将计算出的健康状况值四舍五入为整数。 下面是一个更详细的示例:
public Slider healthSlider;
private float previousSliderValue;
private void Update()
{
UpdateHealth();
}
public void UpdateHealth() {
float currentSliderValue = healthSlider.value;
// Determine direction of slider
float sliderDirection = currentSliderValue - previousSliderValue;
if (sliderDirection > 0) {
// Slider is moving in positive direction (adding health)
float healthToAdd = (sliderDirection / 15) * 100;
AddHealth((int)healthToAdd); // Assuming health is an
integer value
} else if (sliderDirection < 0) {
// Slider is moving in negative direction (subtracting
health)
float healthToSubtract = (-sliderDirection / 15) * 100;
SubtractHealth((int)healthToSubtract);
}
// Store current slider value for next update
previousSliderValue = currentSliderValue;
}
public void AddHealth(int healthToAdd) {
// Add health to current health number
// ...
}
public void SubtractHealth(int healthToSubtract) {
// Subtract health from current health number
// ...
}
1条答案
按热度按时间bqjvbblv1#
假设您的健康数字范围为0-100,您可以使用以下公式将滑块值
sliderVal
Map到健康值healthVal
:healthVal = (sliderVal / 15) * 100 // 100 is the max health
例如,如果滑块值为7,则对应的运行状况值为:
healthVal = (7 / 15) * 100 = 46.67
然后,您可以使用此计算出的健康值来增加或减少您的当前健康值,具体取决于滑块的方向。
例如,如果滑块用于增加健康状况,您可以将计算出的健康状况值添加到您的当前健康状况数字:
newHealthNum = currentHealthNum + healthVal
如果滑块用于减少健康值,您可以从当前健康值中减去计算出的健康值:
newHealthNum = currentHealthNum - healthVal
请注意,如果您的健康状况数值为整数值,则可能需要将计算出的健康状况值四舍五入为整数。
下面是一个更详细的示例: