1
私はUnityでシンプルな経験システムを持っています。ユニティで頑丈な経験システムを構築する
public void GainExperience(float experienceToAdd) // the Player gains some XP
{
currentExperience += experienceToAdd; // add the XP to the current XP
if (currentExperience > experienceNeeded) // enough XP to level up
{
currentExperience = currentExperience - experienceNeeded; // reset the current XP
experienceNeededToLevelUp *= 2; // increase the needed xp for the next level
currentLevel++; // increase the players level
skillpoints++; // gain a skillpoint
UpdateLevelText(); // GUI Update
}
UpdateXPBar(); // GUI Update
}
だから、このコードは最善ではないと思います。私がそれほど多くのXPを手に入れたら、私は2回以上レベルアップすることができます。コードは正しくありません。
どうすれば変更できますか?
なぜあなたのコードは正しくないと思いますか?同じ目的のために 'experienceNeeded'、' info.ExperienceNeeded'、 'experienceNeededToLevelUp'をなぜ使用していますか? –
@AdrienLacroix申し訳ありませんが、自分のコードを編集しました。私は違いがちょうどもう1つ上のレベルを含んでいるので、うまくいかないと思う。違いが大きければ、それは3つのレベルのアップを含むことができる、彼らはそこに失われるだろう。 – Question3r