私はそこにいくつかの敵と少しロゲランのゲームを得ました。彼らが私に当たったとき、私はいくつかの健康を失う。私はこれを「よく知られている標準」という方法で呼びます。ユニティにスライド番号を実装する
public void ChangeHealth(float healthToAdd) // Add or subtract health
{
healthData.CurrentHealth = Mathf.Clamp(healthData.CurrentHealth + healthToAdd, 0, healthData.MaxHealth); // Change the current health
healthView.UpdateHealthBar(healthData); // update the GUI
if (healthData.CurrentHealth <= 0) // Kill the player at 0 health
Destroy(gameObject);
}
私が健康を失うと、これは即座に起こります。今私はそれを段階的に滑らかに増減させたい。
私は数字
float animationTime = 1; // The duration
float desiredNumber; // The calculated result
float initialNumber;
float currentNumber; // The current value
void AddToNumber(float value) // Change the Health
{
initialNumber = currentNumber;
desiredNumber += value;
}
private void Update()
{
if (currentNumber != desiredNumber) // Create the sliding process
{
if (initialNumber < desiredNumber)
{
currentNumber += (animationTime * Time.deltaTime) * (desiredNumber - initialNumber);
if (currentNumber >= desiredNumber)
{
currentNumber = desiredNumber;
}
}
else
{
currentNumber -= (animationTime * Time.deltaTime) * (initialNumber - desiredNumber);
if (currentNumber <= desiredNumber)
{
currentNumber = desiredNumber;
}
}
Debug.Log(currentNumber); // Update the GUI ..
}
}
をスライドさせるために、ここで、このコードを発見した問題は、私は本当に私のコードまたはどのように私のコードに追加するためにそれを使用する方法がわからないこと、です。この方法で以前のコードを変更することは可能ですか?それはスライド計算を使用するのですか?
誰かが私を助けてくれたらすごくいいですね。
'AddToNumber()'は、あなたの 'ChangeHealth()'メソッドがしたいものと正確に思われます。クランプや破壊のようなロジックを追加するだけで、あなたの代わりに新しいメソッドを呼び出すことができます。 – Lelefant