Unity 4.Quiz Game(持久场景、数据类)

版权声明:本文为博主原创文章,转载请声明原创网址。 https://blog.csdn.net/lagoon_lala/article/details/86031835

Intro and Setup

游戏逻辑与游戏数据分离

基于简单UI

完成效果:

菜单场景(作为持久场景)

DataController持续存在于场景中

在游戏场景回答问题,计分、计时

游戏结束后可以回到menu

第一节课程的得分不存储,之后将会读取Json数据

扫描二维码关注公众号,回复: 4822602 查看本文章

Setup

分别创建预制件、场景、脚本文件夹

创建三个场景:

默认场景删除主相机,命名为持久场景(Persistent),

新建场景MenuScreen、Game,

保存在场景文件夹。

将分别完成Persistent、MenuScreen、Game设置

Persistent场景中:

创建DataController对象,附加DataController脚本,在三个场景之间保存数据

创建AnswerData脚本,作为纯数据类,只存储答案信息

Data Classes

编写AnswerData类

using UnityEngine;
using System.Collections;

[System.Serializable]//添加序列化则能编辑他们,在检查器inspector显示值
public class AnswerData //纯类不继承MonoBehaviour,类中没有方法
{
    public string answerText;
    public bool isCorrect;//该回答是否为正确的那个答案
    
}

创建QuestionData类并编写

using UnityEngine;
using System.Collections;

[System.Serializable]
public class QuestionData 
{
    public string questionText;
    public AnswerData[] answers;//每个问题有一个答案数组
}

创建RoundData类并编写

using UnityEngine;
using System.Collections;

[System.Serializable]
public class RoundData 
{
    public string name;//玩到哪一关
    public int timeLimitInSeconds;//每关限制用时
    public int pointsAddedForCorrectAnswer;//回答正确得分分数
    public QuestionData[] questions;//每关有一系列问题

}

编写DataController

提供显示关卡数据给GameController

using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;//需要加载场景

public class DataController : MonoBehaviour //行为类,附加到对象
{
    public RoundData[] allRoundData;//可以扩展为多轮游戏


    // Use this for initialization
    void Start ()  
    {
        DontDestroyOnLoad (gameObject);//一般加载新场景时会销毁旧场景中所有对象。设置后加载时不再销毁该游戏对象,并被移动到单独的不破坏场景(DontDestroyOnLoad场景)

        SceneManager.LoadScene ("MenuScreen");//然后加载初始场景
    }

    public RoundData GetCurrentRoundData()
    {
        return allRoundData [0];//只返回0的数据,稍后可传入索引值确定
    }

    // Update is called once per frame
    void Update () {
    
    }
}

Persistent添加DataController脚本

设置Menu相机背景为黑色

打开Build Setting,将所有场景放入(若不放入,调试运行时无法跳转)

运行看是否跳转到Menu,且保留对象

猜你喜欢

转载自blog.csdn.net/lagoon_lala/article/details/86031835