客户端游戏,用户需要拥有全部的游戏安装包才能开始游戏。而网页游戏则不需要。
用户在网页上打开游戏,实际上是在下载游戏。用户不必等待整个游戏下载完成,而是仅下载
一部分即可开始游戏,同时在游戏中又去下载另一部分。
大部分Unity游戏由很多关卡组成,例如一共有10个关卡,平均每个关卡有1MB,用户只需下载1MB左右的关卡就可以开始游戏了。
以下示例,共有2个关卡,加载完第一个后,即可开始游戏。游戏中会下载另一个关卡。
1 Build Setting 勾选 Streamed
2 First Streamed Level 设置0
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;
}
}