首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将计时器信息从我的主场景传递到另一个场景(重试)?单位C#

如何将计时器信息从我的主场景传递到另一个场景(重试)?单位C#
EN

Stack Overflow用户
提问于 2019-09-30 23:47:19
回答 1查看 473关注 0票数 2

我在我的主场景中有一个计时器,我正在尝试将时间分数传递到另一个场景。我试图通过的场景是再试一次的场景,所以我的意思是,我希望用户能够看到他们在最后一场比赛中得到的分数。

我看了很多youtube视频,解释了如何传递价值观,但这并没有帮助我。

播放器脚本:

代码语言:javascript
复制
public Text timerText;
private float startTime;

void Start()
    {
        startTime = Time.time;
    }

    void Update()
    {
        float t = Time.time - startTime;

        string minutes = ((int) t / 60).ToString();
        string seconds = (t % 60).ToString("f2 ");

        timerText.text = minutes + ":" + seconds;
    }

再试一次场景:

试图传递玩家脚本的结果再试一次场景。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-01 00:11:18

脚本对象

您应该使用scriptableObject而不是单行为继承。

scriptableObject存在于文件夹中,其行为类似于GameObject。这意味着不必实例化它才能获取和设置值。

想象一下,有一个游戏对象/脚本,它包含您所需的所有全局信息,这些信息永远不会被销毁。

所以你可以说:

代码语言:javascript
复制
[CreateAssetMenu(fileName = "GlobalVariables", menuName = "ScriptableObject: global variables")]
     public class GlobalVariable: ScriptableObject {
         public int time; 
    }

代码语言:javascript
复制
public class TimeCount : MonoBehaviour {

    public GlobalVariable variableStorage;

        public void Update() {
            variableStorage.time = Time.time;
        }
     }

然后,只需将scriptableObject拖到检查器中的variableStorage字段中:“我的游戏的图像”

有关更多信息,请看一下这个vide:https://youtu.be/TLVf4ky7I3k

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58176500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档