【发布时间】:2017-01-17 18:32:20
【问题描述】:
我有一个选择题问答游戏,我想得分。但是我想将分数与我的时间重命名联系起来,因此如果用户选择正确的答案,他会得到 10 分,但我也想将该数字乘以剩余时间。因此,如果时间为 0,则游戏结束,如果他完成得快,他会得到更高的分数,如果他完成得太慢,他会失去分数。总结一下,我希望剩余的时间和点连接在一起。
我尝试过的是,在每个正确答案上,我都通过了一个点,我得到了分数,而且我的分数也很高,我不知道如何连接它 到剩余时间?
这就是我所拥有的
public void AnswerButtonClick(bool isCorrect)
{
if (isCorrect)
{
Debug.Log("I'm Correct");
theAnswerIsCorrect = true;
playerScore += currentRoundData.pointAddedForCorrectAnswer;
scoreDisplayText.text = "Score: " + playerScore.ToString();
}
else
theAnswerIsCorrect = false;
// Do we still have questions?
if (questionPool.Length > questionIndex + 1)
{
//questionIndex++;
UpdateQuestionIndex();
StartCoroutine(DelayTime(3));
// ShowQuestion();
}
else
{
EndRound();
}
}
如果我得到正确答案,这只是补充一点,我需要的是如何计算我的积分剩余时间。
这是剩余时间
// Update is called once per frame
void Update ()
{
if (isRoundActive)
{
timerRemaing -= Time.deltaTime;
UpdateTimeRemainingDisplay();
if (timerRemaing <= 0)
EndRound();
}
}
所以基本上每次我的时间越来越少时,我都会失去更多的分数。 谢谢
【问题讨论】:
-
您被否决了,因为我们无能为力。提供您正在使用的代码,至少有一些东西需要尝试理解。您的问题是如何获得两个实例之间的时间?
var startingTime = Time.time;会为你做这件事,然后var timeUsed = Time.time - startingTime; -
别担心!这两个不同的脚本是在不同的游戏对象上吗?
-
不,它们在同一个 GameManager 脚本上
-
你的问题是如何使用
timerRemaining和playerScore?数学上还是程序上?如...您是否需要帮助了解如何使用这些值每次都获得良好、真实的分数或如何对其进行编码? -
玩家每个问题有多少时间?