开发者专栏

关注:2175

当前位置:足球投注 技术专区 开发者专栏

__________________________________________________________________________________
开发者干货区版块规则:

  1、文章必须是图文形式。(至少2幅图)
      2、文章字数必须保持在1500字节以上。(编辑器右下角有字数检查)
      3、本版块只支持在游戏蛮牛原创首发,不支持转载。
      4、本版块回复不得无意义,如:顶、呵呵、不错......【真的会扣分的哦】
      5、......
__________________________________________________________________________________
查看: 3041|回复: 24
发新帖

[海莉zhe] 【每日一记】Unity3D 游戏数据存储(八)【小白篇】

[复制链接]  [移动端链接]
排名
787
昨日变化
1

足球投注 www.zjrxh.com 60

主题

212

帖子

2567

积分

Rank: 9Rank: 9Rank: 9

UID
76890
好友
72
蛮牛币
3656
威望
0
注册时间
2015-3-4
在线时间
907 小时
最后登录
2018-4-20

专栏作家

跳转到指定楼层
楼主
发表于 2018-3-4 21:32:44 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
         今天小编和大家一下学习一下Unity 的数据保存,其实 中提供用于本地持久化保存和读取的类(PlayerPrefs),它本质上就是以键值对形式将数据保存在文件中,
然后程序载运行的时候可以根据这个键值对的名称来取得上次保存的数值。

          官方文档:https://docs.足球投注.com/ScriptReference/PlayerPrefs.html
          圣典文档:http://wiki.ceeger.com/script:unityengine:classes:playerprefs:playerprefs


          1. PlayerPrefs 支持三种数据类型保存和读取,浮点型(Float)、整型(Int)、字符串(String)。

               1.0 一般函数的用法,利用Set 保存数据,利用Get获取数据;

                   PlayerPrefs.SetString("_NAME", set_NAME); 这个方法中第一个参数表示存储数据的名称,第二的参数表示具体存储的数值。

                   get_NAME=PlayerPrefs.GetString("_NAME"); 这个方法中第一个数据表示读取数据的名称,本来还有第二的参数,表示默认值,如果通过数据名称没有找到对应的值,那么就返回默认值,这个值也可以写,则返回空值。


           2.下面我们直接新建一个测试的项目,具体看一下他用法;

               2.0  新建Unity 项目,新建TestPlayerPrefs.cs 脚本;
           
                 TestPlayerPrefs.cs 代码如下:

                  
[C#] 纯文本查看 复制代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TestPlayerPrefs : MonoBehaviour {

	public string stringToId = "";
	public string stringToName = "";
	public string stringToAge = "";
	public string stringToweight = "";

	void OnGUI()
	{
		//存储数据值
		GUI.Label(new Rect (50,50,200,20),"Id 号:");
		stringToId = GUI.TextField (new Rect(100, 50, 200, 20), stringToId, 25);
		GUI.Label(new Rect (50,100,200,20),"姓名:");
		stringToName = GUI.TextField (new Rect(100, 100, 200, 20), stringToName, 25);
		GUI.Label(new Rect (50,150,200,20),"年龄:");
		stringToAge = GUI.TextField (new Rect(100, 150, 200, 20), stringToAge, 25);
		GUI.Label(new Rect (50,200,200,20),"体重:");
		stringToweight = GUI.TextField (new Rect(100, 200, 200, 20), stringToweight, 25);

		if (GUI.Button (new Rect (100, 250, 100, 50), "存储数据")) {
			PlayerPrefs.SetInt("stringToId", int.Parse(stringToId));
			PlayerPrefs.SetString("stringToName", stringToName);
			PlayerPrefs.SetInt("stringToAge", int.Parse(stringToAge));
			PlayerPrefs.SetFloat("stringToweight", float.Parse(stringToweight));
		}

		GUI.Label(new Rect (100,300,200,500),"个人信息:"+PlayerPrefs.GetString("stringToName").ToString() +"的Id工号是"+PlayerPrefs.GetInt("stringToId").ToString()+",年龄是"+PlayerPrefs.GetInt("stringToAge").ToString()+",体重在"+PlayerPrefs.GetFloat("stringToweight").ToString()+"kg。");

		if (GUI.Button (new Rect (100, 350, 100, 50), "清除数据")) {
			PlayerPrefs.DeleteAll ();
		}
	}
}

            2.1 因为使用比较简单,所以直接运行看结果哈!

                 




7日久生情
2044/5000
排名
3699
昨日变化
3

7

主题

1091

帖子

2044

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
168159
好友
4
蛮牛币
5981
威望
0
注册时间
2016-9-12
在线时间
598 小时
最后登录
2018-3-7
沙发
发表于 2018-3-5 09:24:02 | 只看该作者

4四处流浪
407/500
排名
8018
昨日变化
95

0

主题

224

帖子

407

积分

Rank: 4

UID
158859
好友
0
蛮牛币
620
威望
0
注册时间
2016-7-26
在线时间
53 小时
最后登录
2018-4-22
板凳
发表于 2018-3-5 09:27:28 | 只看该作者
正在学习呢

7日久生情
1635/5000
排名
3084
昨日变化
1

1

主题

847

帖子

1635

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
216583
好友
2
蛮牛币
2722
威望
0
注册时间
2017-4-7
在线时间
377 小时
最后登录
2018-4-20
地板
发表于 2018-3-5 09:30:39 | 只看该作者
多谢分享

7日久生情
1663/5000
排名
2519
昨日变化

0

主题

708

帖子

1663

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
148286
好友
0
蛮牛币
3383
威望
0
注册时间
2016-5-11
在线时间
459 小时
最后登录
2018-4-20
5#
发表于 2018-3-5 10:01:20 | 只看该作者

2初来乍到
111/150
排名
14874
昨日变化
3

0

主题

42

帖子

111

积分

Rank: 2Rank: 2

UID
257831
好友
0
蛮牛币
37
威望
0
注册时间
2017-12-4
在线时间
28 小时
最后登录
2018-4-6
6#
发表于 2018-3-5 10:05:52 | 只看该作者
学习了!

3偶尔光临
232/300
排名
8636
昨日变化
5

0

主题

33

帖子

232

积分

Rank: 3Rank: 3Rank: 3

UID
259144
好友
0
蛮牛币
354
威望
0
注册时间
2017-12-12
在线时间
85 小时
最后登录
2018-3-20
7#
发表于 2018-3-5 10:38:48 | 只看该作者
[发帖际遇]: 一个袋子砸在了 Unique丶 头上,Unique丶 赚了 1 蛮牛币. 幸运榜 / 衰神榜

5熟悉之中
613/1000
排名
4917
昨日变化
2

0

主题

201

帖子

613

积分

Rank: 5Rank: 5

UID
228538
好友
2
蛮牛币
799
威望
0
注册时间
2017-6-24
在线时间
162 小时
最后登录
2018-4-20
8#
发表于 2018-3-5 13:15:15 | 只看该作者
感谢分享

6蛮牛粉丝
1256/1500
排名
1516
昨日变化
1

10

主题

121

帖子

1256

积分

Rank: 6Rank: 6Rank: 6

UID
66514
好友
3
蛮牛币
1808
威望
0
注册时间
2015-1-7
在线时间
395 小时
最后登录
2018-4-20
9#
发表于 2018-3-5 14:07:03 | 只看该作者
如果是webgl该怎么把数据存入数据库和从数据库读出来

排名
787
昨日变化
1

60

主题

212

帖子

2567

积分

Rank: 9Rank: 9Rank: 9

UID
76890
好友
72
蛮牛币
3656
威望
0
注册时间
2015-3-4
在线时间
907 小时
最后登录
2018-4-20

专栏作家

10#
 楼主| 发表于 2018-3-5 16:26:44 | 只看该作者
714161459 发表于 2018-3-5 14:07
如果是webgl该怎么把数据存入数据库和从数据库读出来

这个不属于数据库呢!是本地持久化保存和读取的,属于本地化数据。而且各个平台保存的位置都不太一样,可以参考:https://docs.unity3d.com/ScriptReference/PlayerPrefs.html  而On WebGL, PlayerPrefs are stored using the browser's IndexedDB API.

排名
787
昨日变化
1

60

主题

212

帖子

2567

积分

Rank: 9Rank: 9Rank: 9

UID
76890
好友
72
蛮牛币
3656
威望
0
注册时间
2015-3-4
在线时间
907 小时
最后登录
2018-4-20

专栏作家

11#
 楼主| 发表于 2018-3-5 16:26:53 | 只看该作者
714161459 发表于 2018-3-5 14:07
如果是webgl该怎么把数据存入数据库和从数据库读出来

这个不属于数据库呢!是本地持久化保存和读取的,属于本地化数据。而且各个平台保存的位置都不太一样,可以参考:https://docs.unity3d.com/ScriptReference/PlayerPrefs.html  而On WebGL, PlayerPrefs are stored using the browser's IndexedDB API.

7日久生情
2404/5000
排名
3483
昨日变化
15

0

主题

1728

帖子

2404

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
219676
好友
0
蛮牛币
2285
威望
0
注册时间
2017-7-12
在线时间
310 小时
最后登录
2018-4-22

活力之星

12#
发表于 2018-3-5 18:46:03 | 只看该作者
谢谢分享

5熟悉之中
701/1000
排名
6270
昨日变化
5

0

主题

376

帖子

701

积分

Rank: 5Rank: 5

UID
146677
好友
9
蛮牛币
2461
威望
0
注册时间
2016-4-25
在线时间
141 小时
最后登录
2018-4-19
QQ
13#
发表于 2018-3-6 11:20:29 | 只看该作者
看你这么幸苦,给你个赞

6蛮牛粉丝
1206/1500
排名
2907
昨日变化
1

0

主题

454

帖子

1206

积分

Rank: 6Rank: 6Rank: 6

UID
220310
好友
1
蛮牛币
2079
威望
0
注册时间
2017-5-2
在线时间
320 小时
最后登录
2018-4-20
14#
发表于 2018-3-6 11:56:56 | 只看该作者

6蛮牛粉丝
1346/1500
排名
4951
昨日变化
1

6

主题

823

帖子

1346

积分

Rank: 6Rank: 6Rank: 6

UID
236677
好友
0
蛮牛币
2201
威望
0
注册时间
2017-8-9
在线时间
269 小时
最后登录
2018-3-30
15#
发表于 2018-3-6 12:38:19 | 只看该作者
感谢分享

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

快速回复 足球投注 返回列表