我有一个需要云数据库的Unity游戏。 (您可以从游戏内部连接到数据库。)
它不需要任何疯狂的事情。主要是阅读和阅读在表格中编写简单的列,也许只是简单的登录。
使用实体框架在Unity中可以做到这一点吗?
如果没有,是否有任何解决方法? (例如,使用MySQL)
请告诉我。
谢谢, 畚箕
答案 0 :(得分:1)
以下是使用Firebase的解决方法。基本步骤是:
然后您可以使用简单的代码段访问数据操作,如下所示:
using Firebase;
using Firebase.Unity.Editor;
public class MyScript: MonoBehaviour {
void Start() {
// Set this before calling into the realtime database.
FirebaseApp.DefaultInstance.SetEditorDatabaseUrl("https://xyz.firebaseio.com/");
// Get the root reference location of the database.
DatabaseReference reference = FirebaseDatabase.DefaultInstance.RootReference;
}
}
将数据写入db:
private void writeNewUser(string userId, string name, string email) {
User user = new User(name, email);
string json = JsonUtility.ToJson(user);
reference.Child("users").Child(userId).SetRawJsonValueAsync(json);
}
阅读数据:
reference.GetReference("users")
.GetValueAsync().ContinueWith(task => {
if (task.IsFaulted) {
}
else if (task.IsCompleted) {
// Do something with snapshot...
}
});
甚至很酷的是Firebase支持用户身份验证(即登录)等等,这对Unity3D开发人员来说非常方便。
关于如何将Unity3D与Firebase关联的教程是here,虽然它没有使用Firebase数据库,但Firebase消息传递作为示例,它可能对您有所帮助。
答案 1 :(得分:1)
感谢您的回答,是的,如果您需要实时/实时数据,Firebase是一个优秀的解决方案。 (比如多人在线游戏中的玩家位置)
然而,如果您只需要一个简单的东西,那就有更好的(免费)方法。 (比如保存玩家的高分并显示)
(至少那是我真正需要的,所以这就是我所做的)
步骤1)创建数据库(Azure或其他)
步骤2)制作网站/应用,托管并连接您的数据库。
步骤3)向您的应用添加API“端点”。 (与您的数据库交互)
步骤4)使用Unity的“ WWW ”类与您的终端进行互动(制作RESTful GET / POST)。
就是这样! 对我来说就像一个CHARM! (也很快!)
答案 2 :(得分:0)
Firebase开发人员。感谢插件大卫。
您可以找到更多文档,包括使用Firebase实时数据库和Unity here
的指南