【发布时间】:2017-12-28 01:11:23
【问题描述】:
我有一个玩家在碰到平台时会跳跃。有点像涂鸦跳跃。分数基于在 y 轴上行驶的距离。问题是,当玩家跳起来时,距离值(分数)会增加,但是当玩家回到平台上时,距离值会减小,因此分数也会降低。我想阻止分数下降。这是脚本:
public GameObject player;
float beginPos;
float curPos;
public int Multiplier;
void Start () {
beginPos = player.transform.position.y;
}
void Update () {
curPos = player.transform.position.y - beginPos;
int Distance = Mathf.RoundToInt(curPos * Multiplier);
Debug.log(Distance);
}
【问题讨论】:
-
猜猜你可以给玩家添加一个属性,表明他是否在跳跃,如果是,不扣分?
-
听起来您可能需要一个额外的变量,例如 apex 并围绕它构建您的计算。
-
玩家不断跳跃!没有动静。他触到平台,朝+y方向跳了起来。他错过了平台,游戏结束了。还有其他想法吗?我尝试创建另一个变量 maxDist 来存储距离并将其与之前的值进行比较,但我无法使其工作。
-
有一个
lastPos的变量并且只更新lastPos并计算curPos > lastPos的分数? -
我应该将 lastPos 等同于什么?