Unity 游戏开发:如何实现掷骰子活动中行动点变化不影响饱食度
要实现只让掷骰子的活动里行动点变化的同时不影响饱食度,可以在掷骰子活动的代码中,添加一个用于保存行动点变化的变量,然后在掷骰子的条件成立时,将行动点的变化保存至该变量中。最后,在应用 Influence 时,将保存的行动点变化应用至玩家的行动点数值上。
以下是修改后的代码示例:
private IEnumerator StartEvent()
{
bool Success = true;
int actionPointChange = 0; // 新增变量用于保存行动点变化
// 扔骰子
if (RollDice == true)
{
DiceRandomPanel dicePanel = UIKit.OpenPanel<DiceRandomPanel>();
while (!UnityObjectUtility.IsDestroyed(dicePanel))
{
// 等待半秒钟
yield return new WaitForSeconds(0.5f);
}
// 取出骰子结果进行比对
if (DiceRandomPanel.RollResult < winRoll)
{
// 应用失败的Influence
Success = false;
}
else
{
// 记录行动点变化
actionPointChange = dicePanel.RollResult; // 假设骰子结果为加减行动点数值
}
}
if (Success)
{
// 优先influence
ApplyInfluence(influence);
}
else
{
ApplyInfluence(defeatInfluence);
}
// 应用行动点变化
AddActionPoint(actionPointChange);
}
这样,在掷骰子成功时,会将骰子的结果作为行动点的变化保存到actionPointChange变量中,然后在应用 Influence 时,将该变量的值应用到玩家的行动点上。
请注意,这只是一个示例代码,具体的行动点变化规则需要根据你的需求进行调整。
原文地址: https://www.cveoy.top/t/topic/phhc 著作权归作者所有。请勿转载和采集!