青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 311, comments - 0, trackbacks - 0, articles - 0
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

持久化簡單的數據儲存在Unity3D 中提供了一個簡單有效的方法,如果之前的你做過Android的開發你會發現在Unity3D中持久化數據的儲存和Android非常的想象。那么下面MOMO 將用一個簡單有效的例子向大家介紹Unity3D中持久化數據。

首先我們須要熟悉一下Unity3D中的PlayerPrefs這個類。這個類中一共幫助我們封裝了9個方法,用來數據的儲存與讀取。


舉一個例子

[csharp] view plaincopy
  1. PlayerPrefs.SetString("key""value");  
  2. 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

[csharp] view plaincopy
  1. using UnityEngine;  
  2. using System.Collections;  
  3.   
  4. public class Scene0Main : MonoBehaviour {  
  5.   
  6.     //儲存數據的顯示  
  7.     public string testStr;  
  8.     public string testInt;  
  9.     public string testFloat;  
  10.       
  11.     //GUI皮膚 為上面我們添加的皮膚  
  12.     //在外面用鼠標拖動上為它賦值  
  13.     public GUISkin fontSkin;  
  14.     //顯示的圖片  
  15.     public Texture Imagetexture;  
  16.        
  17.     // Use this for initialization  
  18.     void Start () {  
  19.         //讀取key的值  
  20.         testStr = PlayerPrefs.GetString("testStr""default");  
  21.         testInt = PlayerPrefs.GetInt("testInt", 0).ToString();  
  22.         testFloat = PlayerPrefs.GetFloat("testFloat", 0).ToString();  
  23.           
  24.     }  
  25.       
  26.     // Update is called once per frame  
  27.     void Update () {  
  28.       
  29.     }  
  30.       
  31.       
  32.     void OnGUI() {  
  33.           
  34.         //將GUI的皮膚設置為我們創建的皮膚  
  35.         GUI.skin = fontSkin;  
  36.           
  37.         //貼上圖片  
  38.         GUI.DrawTexture(new Rect((Screen.width - Imagetexture.width) >>1, 10, 120, 120), Imagetexture);  
  39.           
  40.         //添加輸入框讓用戶輸入信息,這里面我沒有捕獲異常,因為用戶有可能輸入一個不合法的數值  
  41.         testStr = GUI.TextField (new Rect(10, 200, 200, 50), testStr, 50);  
  42.         testInt = GUI.TextField (new Rect(10, 250, 200, 50), testInt, 50);  
  43.         testFloat = GUI.TextField (new Rect(10, 300, 200, 50), testFloat, 50);  
  44.           
  45.         //點擊按鈕保存所有數據  
  46.         if (GUI.Button(new Rect(220, 200, 150, 100), "commit all"))  
  47.         {  
  48.               
  49.             PlayerPrefs.SetString("testStr", testStr);  
  50.             PlayerPrefs.SetInt("testInt"int.Parse(testInt));  
  51.             PlayerPrefs.SetFloat("testFloat"float.Parse(testFloat));  
  52.             //切換場景到scene1  
  53.             Application.LoadLevel("scene1");  
  54.         }  
  55.     }  
  56.       
  57.       
  58. }  


Scene1Main.cs


[csharp] view plaincopy
  1. using UnityEngine;  
  2. using System.Collections;  
  3.   
  4. public class scene1Main : MonoBehaviour {  
  5.   
  6.     public string testStr;  
  7.     public string testInt;  
  8.     public string testFloat;  
  9.       
  10.     public GUISkin fontSkin;  
  11.     public Texture Imagetexture;  
  12.        
  13.     // Use this for initialization  
  14.     void Start () {  
  15.         testStr = PlayerPrefs.GetString("testStr""default");  
  16.         testInt = PlayerPrefs.GetInt("testInt", 0).ToString();  
  17.         testFloat = PlayerPrefs.GetFloat("testFloat", 0).ToString();  
  18.           
  19.     }  
  20.       
  21.       
  22.     void OnGUI() {  
  23.         GUI.skin = fontSkin;  
  24.           
  25.         GUI.DrawTexture(new Rect((Screen.width - Imagetexture.width) >>1, 10, 120, 120), Imagetexture);  
  26.           
  27.         //顯示label  
  28.         GUI.Label(new Rect(10,150,300,50),"testStr = "+ testStr);  
  29.         GUI.Label(new Rect(10,200,300,50),"testInt = "+ testInt);  
  30.         GUI.Label(new Rect(10,250,300,50),"testFloat = "+ testFloat);  
  31.           
  32.         if (GUI.Button(new Rect(220, 200, 150, 100), "clean all"))  
  33.         {  
  34.             //刪除所有鍵值  
  35.             PlayerPrefs.DeleteAll();  
  36.             // 返回場景0  
  37.             Application.LoadLevel("scene0");  
  38.         }  
  39.           
  40.         if (GUI.Button(new Rect(220, 320, 150, 100), "only return"))  
  41.         {  
  42.             // 返回場景0  
  43.             Application.LoadLevel("scene0");  
  44.         }  
  45.     }  
  46. }  



File -> Build Settings 點擊Add Current添加場景,這一步很重要,如果不添加的話在代碼中切換場景會拋異常,盆友們還得注意一下~








build and run 導出運行項目,如下圖所示我分別輸入string int float 三種類型的數據,然后點擊commit all ,將所有數據全部保存下來,游戲場景切換到scene1場景中。







切換到scene1中可以正常的顯示scene0中儲存的數值,點擊clean all 將清空儲存的所有信息后返回場景scene0,點擊only return 直接返回場景scene0。

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲欧美日韩精品久久| 日韩一级片网址| 在线亚洲电影| 久久久www| 正在播放亚洲一区| 久久久人成影片一区二区三区观看 | 欧美国产日韩精品免费观看| 国产综合久久| 欧美色图一区二区三区| 农村妇女精品| 欧美一区二区三区免费观看视频| 亚洲第一视频网站| 亚洲欧美日韩综合aⅴ视频| 亚洲午夜久久久久久尤物| 国产美女精品| 久久电影一区| 欧美一区二区三区视频免费| 一区二区久久久久| 欧美日韩国产探花| 欧美日韩在线精品| 亚洲高清在线播放| 国产一区二区三区久久久| 久久精品夜色噜噜亚洲a∨| 欧美亚洲视频在线看网址| 亚洲一区在线观看免费观看电影高清 | 欧美大片91| 久久亚洲欧美国产精品乐播| 亚洲人成网站777色婷婷| 美女91精品| 最近看过的日韩成人| 欧美激情一区三区| 国产精品一区二区三区观看| 亚洲精品系列| 亚洲男人天堂2024| 欧美日韩精品在线| 国产精品久久久久久久7电影 | 亚洲欧美日韩中文视频| 亚洲综合色在线| 欧美a级大片| 国产麻豆精品theporn| 亚洲欧洲日本在线| 久久久久久九九九九| 99视频在线精品国自产拍免费观看| 久久亚洲欧美| 国产一区二区三区黄视频| 亚洲一区二区av电影| 亚洲电影自拍| 男女激情久久| 欧美性猛交99久久久久99按摩| 国产精品对白刺激久久久| 国产一区在线播放| 亚洲国产日韩在线一区模特| 欧美在线视频一区二区| 亚洲一区二区三区精品在线观看| 欧美成人精品福利| 亚洲日韩第九十九页| 免费成人在线视频网站| 久久精品国产亚洲5555| 国产伦精品一区二区三区免费迷| 99精品欧美一区二区蜜桃免费| 久久综合国产精品| 久久裸体视频| 亚洲韩国精品一区| 一本色道久久99精品综合| 欧美体内she精视频| 久久久久久久97| 亚洲国产一区二区三区青草影视| 一区电影在线观看| 欧美中文字幕| 在线亚洲一区| 久久精品国产久精国产爱| 欧美午夜精品理论片a级按摩 | 亚洲欧美成aⅴ人在线观看| 亚洲欧美一区二区视频| 国产精品国色综合久久| 久久激情视频久久| 国内精品久久久久久久97牛牛| 久久最新视频| 亚洲精品色图| 国产精品美腿一区在线看| 欧美资源在线| 午夜日韩在线观看| 亚洲国产成人在线视频| 国产亚洲精品久久久| 国产精品视频1区| 亚洲午夜伦理| 亚洲国产欧美国产综合一区| 亚洲成人在线免费| 国产精品99久久久久久宅男| 亚洲高清不卡一区| 亚洲美女黄网| 国产一区二区电影在线观看| 亚洲免费大片| 久久综合久久88| 在线观看日韩国产| 亚洲综合色丁香婷婷六月图片| 国产精品美女主播在线观看纯欲| av成人天堂| 亚洲精品综合在线| 久久中文久久字幕| 久久精品99国产精品日本 | 国产精品99久久久久久有的能看 | 欧美日韩综合网| 欧美**字幕| 亚洲黑丝在线| 亚洲专区一二三| 久久久久欧美精品| 国产伦精品一区二区三区在线观看| 亚洲一区二区网站| **网站欧美大片在线观看| 麻豆国产精品777777在线| 亚洲欧美日韩中文在线制服| 国产精品一二三| 亚洲一区二区三区涩| 久久精品成人| 国产精品男女猛烈高潮激情| 亚洲免费在线视频| 香蕉乱码成人久久天堂爱免费| 国产一区二区三区在线播放免费观看| 亚洲欧美韩国| 欧美大片免费久久精品三p| 亚洲国产精品美女| 国产一区二区三区视频在线观看| 国产精品视频免费一区| 欧美日韩一区三区| 国产精品一二三四| 红桃视频国产精品| 亚洲人成人77777线观看| 亚洲第一久久影院| 亚洲一区二区三区国产| 一区二区亚洲精品| 亚洲国产成人精品视频| 91久久中文字幕| 国产精品久久久久久久久借妻| 洋洋av久久久久久久一区| 久久精品亚洲乱码伦伦中文| 国产一区二区中文| 欧美激情精品久久久久久| 日韩午夜三级在线| 老司机aⅴ在线精品导航| 91久久久在线| 国产精品麻豆欧美日韩ww| 欧美在线视频免费播放| 亚洲毛片在线| 久久激情久久| 亚洲性人人天天夜夜摸| 狠狠色狠色综合曰曰| 欧美三级网页| 久久性色av| 欧美亚洲一区二区三区| 亚洲二区三区四区| 久久久精彩视频| 一本色道久久88综合亚洲精品ⅰ| 国产性色一区二区| 欧美极品aⅴ影院| 久久久精品性| 一区二区免费看| 亚洲高清视频一区| 久久er精品视频| 亚洲男女自偷自拍| 亚洲国产精品va| 黄页网站一区| 国产精品久久久| 欧美日韩国产一中文字不卡 | 欧美精品一区二区三区在线看午夜| 中文欧美字幕免费| 亚洲精品日韩欧美| 久久全球大尺度高清视频| 午夜亚洲性色福利视频| 最新日韩在线| 亚洲国产精品欧美一二99| 国产乱码精品一区二区三| 欧美性生交xxxxx久久久| 男女激情视频一区| 久久亚洲二区| 久久高清免费观看| 久久经典综合| 亚洲欧美中文字幕| 欧美在线日韩精品| 亚洲免费视频中文字幕| 亚洲在线视频免费观看| 亚洲免费观看高清在线观看 | 国产美女精品| 国产精品久久久久一区二区三区 | 一本色道久久综合一区| 欧美成人免费观看| 亚洲一区二区在线观看视频| 亚洲一区二区三| 91久久精品美女| 欧美在线日韩| 亚洲你懂的在线视频| 老司机久久99久久精品播放免费| 一区二区三区在线视频播放| 亚洲精品国产精品久久清纯直播| 久久亚洲国产精品一区二区| 欧美亚洲网站| 欧美亚洲综合在线| 久久尤物视频| 麻豆精品一区二区av白丝在线| 亚洲高清av在线|