android - 有没有办法在统一为android构建游戏后加载文本
问题描述
我创建了一个具有一些角色名称和一些值的小型 android 游戏,我想控制名称和值,以便在需要时更改值。我在网上搜索,但我没有找到任何快速的解决方案。有没有办法通过一些网络服务在线控制价值,这样我就可以在线改变价值,它会在我的游戏中创造变化?
解决方案
你需要一个服务器来存储你的数据,甚至 GitHub 也可以,而且它有免费计划。然后你的代码需要设计,所以它需要那些。
这里可能是一个简短的例子。这是你在 github 上的:
{
"characterName" : "Buldor",
"strength" : 10
}
你需要一个 C# 版本:
[Serializable]
public class Response
{
public string characterName = null;
public int strength = 0;
}
然后,您需要在游戏中设置一个加载屏幕,您可以在其中从服务器获取信息并分配它们。这意味着您的游戏在离线时不再有效(或者您使用了之前加载的或默认值)。
void Start()
{
StartCoroutine(GetText());
}
IEnumerator GetText()
{
using (UnityWebRequest www = UnityWebRequest.Get("github_url"))
{
yield return www.Send();
if (www.isNetworkError || www.isHttpError)
{
Debug.Log(www.error);
}
else
{
// Show results as text
Debug.Log(www.downloadHandler.text);
Response res = JsonUtility.FromJson<Response>(www.downloadHandler.text);
PlayerPrefs.SetString("characterName", res.characterName);
PlayerPrefs.SetInt("strength", res.strength);
}
}
}
}
最后,你有字符类:
public class Character : MonoBehaviour
{
void Start(){
string characterName= PlayerPrefs.GetString("characterName", "OldName");
int strength = PlayerPrefs.GetInt("strength", 0);
}
}
所以总结一下,首先创建一个json存储在服务器上,获取位置的url。然后下载文件,它可以是 json、xml、txt 或任何文件,但请确保您知道如何解析它,并且 json 已经拥有这一切变得如此简单。然后解析文件并将值存储在 PlayerPrefs 中,就像我所做的那样,或者直接存储到播放器中。
然后扩展 json 文件以存储更多信息。
推荐阅读
- java - 得到错误 404 源服务器没有找到目标资源的当前表示或不愿意透露存在的表示
- sql-server - 什么是 XA 交易?如何在 Windows 上为 SQL Server 2016 启用 XA 事务
- c++ - 在使用 C++ 在 OpenGL 中移动形状时按时间自动旋转形状
- php - Composer 安装了意外的 polyfill。如果不必要,如何避免安装它们?
- javascript - 如何为 toast 和 Messagebox 设置 ariaLabel
- javascript - 在 GH 页面上部署后,该应用程序不起作用
- docker - 是否有替代链接而不是 docker book 中的链接?
- python - 为什么主线程可以被另一个线程调用的变量更新中断
- javascript - 使用高级选择器执行以下任务的 JQuery 代码。PS:cihldren()不起作用
- r - 根据列匹配创建要保留在 r 中的行顺序