- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
unity3d游戏开发之游戏场景的切换与持久化简单数据的储存unity3d游戏开发之游戏场景的切换与持久化简单数据的储存.doc
持久化简单的数据储存在unity3D 中提供了一个简单有效的方法,如果之前的你做过android的开发你会发现在unity3d中持久化数据的储存和Android非常的想象。那么下面MOMO 将用一个简单有效的例子向大家介绍Unity3D中持久化数据。? ? HYPERLINK / \t /_blank 出自狗刨学习网? ?? ? 首先我们须要熟悉一下Unity3D中的PlayerPrefs这个类。这个类中一共帮助我们封装了9个方法,用来数据的储存与读取。? ?? ? 举一个例子
PlayerPrefs.SetString(key, value);
string str = PlayerPrefs.GetString(key, defaule));
复制代码
? ?? ? 我们发现它是以键值对的形式进行储存与读取,每一个Key对应一个Value,储存过后通过Key可以得到之前储存的Value。这里说一下GetString()方法中的第二个参数, 它代表默认值。意思是如果通过第一个参数的Key没有找到对应的Value的话GetString()方法??会返回我们写的第二个参数的默认值。怎么样?很简单吧~ 感觉和Android完全一样哈。? ?? ? Unity3D默认的字体的 size 只有 16 ,这就意味了放在iPhone4 (960 X 640)上 字体会显示的非常小。字体的来源有很多,大家可以在互联网上下载,或者从自己的电脑中拷贝,在Mac电脑下字体放在 Finder - 资源库 - Fonts? ?? ? 我们可以看见电脑中存在了很多字体,我这里随便选一个,将 华文仿宋.ttf 用鼠标拖动到Project中。? ?? ? 选中: 华文仿宋? ?? ? FontSize 30 :毫无疑问是字体的大小,这里写30让字体几乎放大1倍。? ?? ? Character:??设置字体的文字编码 Unicode??ASCLL 编码? ?? ? Style:设置字体的风格,粗体 斜体? ?? ?? ?? ?? ?? ?? ?? ?? ?????? ?? ? 点击Cretae -GUISkin 创建一个GUI的皮肤,将 华文仿宋 拖动到箭头所指向的方向。发现下面存在很多GUI皮肤相关控件设置的,可以在这里设置每一个高级控件~? ?? ? 游戏场景在游戏制作中是一个非常重要的部分,因为任何一款游戏都是由若干的场景组成,Unity3D的游戏场景做的非常贴心。? ?? ? 创建2个游戏场景,一个是scene0 一个是scene1 ,本章的目标是在第一个游戏场景中保存一些基本游戏数据,然后切换到第二个场景中显示第一个场景中保存的数据,实现场景的切换已经数据的储存。? ?? ? 在scene0中创建一个c# 脚本名称为Scene0Main.cs 将它绑定在摄像头中。? ?? ? Scene0Main.cs
using UnityEngine;
using System.Collections;
??
public class Scene0Main : MonoBehaviour {
??
? ? //储存数据的显示
? ? public string testStr;
? ? public string testInt;
? ? public string testFloat;
??
? ? //GUI皮肤 为上面我们添加的皮肤
? ? //在外面用鼠标拖动上为它赋值
? ? public GUISkin fontSkin;
? ? //显示的图片
? ? public Texture Imagetexture;
??
? ? // Use this for initialization
? ? void Start () {
? ?? ???//读取key的值
? ?? ???testStr = PlayerPrefs.GetString(testStr, default);
? ?? ???testInt = PlayerPrefs.GetInt(testInt, 0).ToString();
? ?? ???testFloat = PlayerPrefs.GetFloat(testFloat, 0).ToString();
??
? ? }
??
? ? // Update is called once per frame
? ? void Update () {
??
? ? }
??
? ? void OnGUI() {
??
? ?? ???//将GUI的皮肤设置为我们创建的皮肤
? ?? ???GUI.skin = fontSkin;
??
? ?? ???//贴上图片
?
文档评论(0)