unity3d 游戏怎么制作unity3d 5.x 切换场景景

您所在的位置: &
Unity3D 游戏引擎之游戏场景切换与持久化简单数据储存
Unity3D 游戏引擎之游戏场景切换与持久化简单数据储存
持久化简单的数据储存在Unity3D 中提供了一个简单有效的方法,如果之前的你做过Android的开发你会发现在Unity3D中持久化数据的储存和Android非常的想象。
持久化简单的数据储存在Unity3D 中提供了一个简单有效的方法,如果之前的你做过Android的开发你会发现在Unity3D中持久化数据的储存和Android非常的想象。那么下面MOMO 将用一个简单有效的例子向大家介绍Unity3D中持久化数据。
首先我们须要熟悉一下Unity3D中的PlayerPrefs这个类。这个类中一共帮助我们封装了9个方法,用来数据的储存与读取。
举一个例子
[代码]c#/cpp/oc代码:
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
498)this.width=498;' onmousewheel = 'javascript:return big(this)' src="/files/uploadimg/4000.gif" alt="" />
我们可以看见电脑中存在了很多字体,我这里随便选一个,将 华文仿宋.ttf 用鼠标拖动到Project中。
选中: 华文仿宋
FontSize 30 :毫无疑问是字体的大小,这里写30让字体几乎放大1倍。
Character:& 设置字体的文字编码 Unicode& ASCLL 编码
Style:设置字体的风格,粗体 斜体
498)this.width=498;' onmousewheel = 'javascript:return big(this)' width="478" height="148" src="/files/uploadimg/4001.gif" alt="" />
点击Cretae -&GUISkin 创建一个GUI的皮肤,将 华文仿宋 拖动到箭头所指向的方向。发现下面存在很多GUI皮肤相关控件设置的,可以在这里设置每一个高级控件~大家可以手动的修改一下看看效果哈。
498)this.width=498;' onmousewheel = 'javascript:return big(this)' width="478" height="176" src="/files/uploadimg/4002.gif" alt="" />
游戏场景在游戏制作中是一个非常重要的部分,因为任何一款游戏都是由若干的场景组成,Unity3D的游戏场景做的非常贴心。
创建2个游戏场景,一个是scene0 一个是scene1 ,本章的目标是在第一个游戏场景中保存一些基本游戏数据,然后切换到第二个场景中显示第一个场景中保存的数据,实现场景的切换已经数据的储存。
在scene0中创建一个c# 脚本名称为Scene0Main.cs 将它绑定在摄像头中。
Scene0Main.cs
[代码]c#/cpp/oc代码:
using UnityE&
using System.C&
public class Scene0Main : MonoBehaviour {&
&&&&//储存数据的显示&
&&&&public string testS&
&&&&public string testI&
&&&&public string testF&
&&&&//GUI皮肤 为上面我们添加的皮肤&
&&&&//在外面用鼠标拖动上为它赋值&
&&&&public GUISkin fontS&
&&&&//显示的图片&
&&&&public Texture I&
&&&&// 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 = fontS&
&&&&&&&&&&&
&&&&&&&&//贴上图片&
&&&&&&&&GUI.DrawTexture(new Rect((Screen.width - Imagetexture.width) &&1, 10, 120, 120), Imagetexture);&
&&&&&&&&&&&
&&&&&&&&//添加输入框让用户输入信息,这里面我没有捕获异常,因为用户有可能输入一个不合法的数值&
&&&&&&&&testStr = GUI.TextField (new Rect(10, 200, 200, 50), testStr, 50);&
&&&&&&&&testInt = GUI.TextField (new Rect(10, 250, 200, 50), testInt, 50);&
&&&&&&&&testFloat = GUI.TextField (new Rect(10, 300, 200, 50), testFloat, 50);&
&&&&&&&&&&&
&&&&&&&&//点击按钮保存所有数据&
&&&&&&&&if (GUI.Button(new Rect(220, 200, 150, 100), &commit all&))&
&&&&&&&&{&
&&&&&&&&&&&&&&&
&&&&&&&&&&&&PlayerPrefs.SetString(&testStr&, testStr);&
&&&&&&&&&&&&PlayerPrefs.SetInt(&testInt&, int.Parse(testInt));&
&&&&&&&&&&&&PlayerPrefs.SetFloat(&testFloat&, float.Parse(testFloat));&
&&&&&&&&&&&&//切换场景到scene1&
&&&&&&&&&&&&Application.LoadLevel(&scene1&);&
&&&&&&&&}&
Scene1Main.cs
[代码]c#/cpp/oc代码:
using UnityE&
using System.C&
public class scene1Main : MonoBehaviour {&
&&&&public string testS&
&&&&public string testI&
&&&&public string testF&
&&&&public GUISkin fontS&
&&&&public Texture I&
&&&&// Use this for initialization&
&&&&void Start () {&
&&&&&&&&testStr = PlayerPrefs.GetString(&testStr&, &default&);&
&&&&&&&&testInt = PlayerPrefs.GetInt(&testInt&, 0).ToString();&
&&&&&&&&testFloat = PlayerPrefs.GetFloat(&testFloat&, 0).ToString();&
&&&&&&&&&&&
&&&&void OnGUI() {&
&&&&&&&&GUI.skin = fontS&
&&&&&&&&&&&
&&&&&&&&GUI.DrawTexture(new Rect((Screen.width - Imagetexture.width) &&1, 10, 120, 120), Imagetexture);&
&&&&&&&&&&&
&&&&&&&&//显示label&
&&&&&&&&GUI.Label(new Rect(10,150,300,50),&testStr = &+ testStr);&
&&&&&&&&GUI.Label(new Rect(10,200,300,50),&testInt = &+ testInt);&
&&&&&&&&GUI.Label(new Rect(10,250,300,50),&testFloat = &+ testFloat);&
&&&&&&&&&&&
&&&&&&&&if (GUI.Button(new Rect(220, 200, 150, 100), &clean all&))&
&&&&&&&&{&
&&&&&&&&&&&&//删除所有键值&
&&&&&&&&&&&&PlayerPrefs.DeleteAll();&
&&&&&&&&&&&&// 返回场景0&
&&&&&&&&&&&&Application.LoadLevel(&scene0&);&
&&&&&&&&}&
&&&&&&&&&&&
&&&&&&&&if (GUI.Button(new Rect(220, 320, 150, 100), &only return&))&
&&&&&&&&{&
&&&&&&&&&&&&// 返回场景0&
&&&&&&&&&&&&Application.LoadLevel(&scene0&);&
&&&&&&&&}&
File -& Build Settings 点击Add Current添加场景,这一步很重要,如果不添加的话在代码中切换场景会抛异常,盆友们还得注意一下~
498)this.width=498;' onmousewheel = 'javascript:return big(this)' src="/files/uploadimg/4003.gif" alt="" />
build and run 导出运行项目,如下图所示我分别输入string int float 三种类型的数据,然后点击commit all ,将所有数据全部保存下来,游戏场景切换到scene1场景中。
498)this.width=498;' onmousewheel = 'javascript:return big(this)' src="/files/uploadimg/4004.gif" alt="" />
切换到scene1中可以正常的显示scene0中储存的数值,点击clean all 将清空储存的所有信息后返回场景scene0,点击only return 直接返回场景scene0
498)this.width=498;' onmousewheel = 'javascript:return big(this)' src="/files/uploadimg/4005.gif" alt="" />
另外两个重要的方法
[代码]c#/cpp/oc代码:
//删除 PlayerPrefs 中某一个key的值&
PlayerPrefs. DeleteKey (&key&);&
//判断 PlayerPrefs中是否存在这个key&
bool b = PlayerPrefs.HasKey(&key&);
【编辑推荐】
【责任编辑: TEL:(010)】
关于&&的更多文章
本书是一部应运而生的实用指南,讲述了如何构建出能在Apple Stor
网友评论TOP5
HTML5和CSS3还需要JavaScript的配合才能发挥最大的作
这节课我主要在为大家如何利用HTML5的变形支持和CSS3
这节课我主要在为大家如何利用HTML5的变形支持和CSS3
本书深入细致地介绍了用于构建网络的最重要的硬件设备――交换机、路由器、安全设备和无线设备,涵盖了原理、参数、分类、适用、
Windows Phone专家
Android开发专家
51CTO旗下网站播放列表加载中...
正在载入...
分享视频:
嵌入代码:
拍下二维码,随时随地看视频
unity3D道具UI设计开发unity场景搭建导入
第一课:...
上 传 者:
内容介绍:
unity3D道具UI设计开发unity场景搭建导入
第一课:游戏场景搭建
我来说点啥
版权所有 CopyRight
| 京网文[0号 |
| 京公网安备:
互联网药品信息服务资格证:(京)-非经营性- | 广播电视节目制作经营许可证:(京)字第403号
<img src="" width="34" height="34"/>
<img src=""/>
<li data-vid="">
<img src=""/><i data-vid="" class="ckl_plays">
<img width="132" height="99" src=""/>
在线人数:
<li data-vid="">
<img src=""/><i data-vid="" class="ckl_plays">
<img src="///img/blank.png" data-src=""/>
<img src="///img/blank.png" data-src="http://"/>
<li data-vid="" class="cfix">
src="///img/blank.png" data-src=""/>
<i data-vid="" class="ckl_plays">
<li data-vid="" class="cfix">
src="///img/blank.png" data-src=""/><i data-vid="" class="ckl_plays">
没有数据!
{upload_level_name}
粉丝 {fans_count}
{video_count}
{description}Unity3d游戏开发之漫游场景的制作_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Unity3d游戏开发之漫游场景的制作
上传于||文档简介
&&U&#8203;n&#8203;i&#8203;t&#8203;y&#03;d&#8203;游&#8203;戏&#8203;开&#8203;发&#8203;之&#8203;漫&#8203;游&#8203;场&#8203;景&#8203;的&#8203;制&#8203;作
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩4页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
unity3d游戏开发之游戏场景的切换与持久化简单数据的储存.doc8页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
文档加载中...广告还剩秒
需要金币:150 &&
unity3d游戏开发之游戏场景的切换与持久化简单数据的储存
你可能关注的文档:
··········
··········
持久化简单的数据储存在
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 UnityE
using System.C
public class Scene0Mai
正在加载中,请稍后...}

我要回帖

更多关于 unity3d场景切换特效 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信