Unity3D-Streaming关卡


客户端游戏,用户需要拥有全部的游戏安装包才能开始游戏。而网页游戏则不需要。

用户在网页上打开游戏,实际上是在下载游戏。用户不必等待整个游戏下载完成,而是仅下载

一部分即可开始游戏,同时在游戏中又去下载另一部分。


大部分Unity游戏由很多关卡组成,例如一共有10个关卡,平均每个关卡有1MB,用户只需下载1MB左右的关卡就可以开始游戏了。


以下示例,共有2个关卡,加载完第一个后,即可开始游戏。游戏中会下载另一个关卡。


1  Build Setting 勾选 Streamed

Unity3D-Streaming关卡_第1张图片


2 First Streamed Level 设置0


Unity3D-Streaming关卡_第2张图片


3 发布后,网页中打开该应用,首先加载场景1,场景1加载完成后,就可以开始游戏了。

   场景1加载后会连续加载场景2。


4 代码如下:

using UnityEngine;
using System.Collections;
using UnityEngine.UI;


//测试WebPlayer
public class CWebPlayerTest : MonoBehaviour {

    //显示进度文本
    public Transform m_tProgressText;
	//下载标识符
    bool m_bLoadingFlag = false;
    //下载完成比例
    float m_fLoadProgress = 0;

	void Update () {
        if (m_bLoadingFlag)
        {
            //获取下载比例
            m_fLoadProgress = Application.GetStreamProgressForLevel("WebPlayer2");
            //显示下载比例
            m_tProgressText.GetComponent<Text>().text = m_fLoadProgress.ToString();
            //如果关卡已经下载完成
            if (Application.CanStreamedLevelBeLoaded("WebPlayer2"))
            {
                //读取下一关
                Application.LoadLevel("WebPlayer2");
            }
        }
	}

    //开始加载
    public void StartLoad() {
        m_bLoadingFlag = true;
    }
}




你可能感兴趣的:(Unity3D-Streaming关卡)