前言:學習數據開始~
1.PlayerPrefs類(是數據持久化的類,像游戲中的存檔啊什么的)
(1)是個靜態類,所以可以類名.調用此類里面的方法
(2)修改數據:類名.SetXXX(鍵,值)
<1>XXX可以是Int、Float、String三個類型中的任意一個
<2>鍵,是一個字符串類型的值
<3>值,是一個與XXX類型對應的值,我們修改這個值,這個值與鍵是對應的
(3)讀取數據:類名.GetXXX(鍵,值)
<1>鍵,是一個字符串類型的值,相當于我們查找的時候用的索引,我們在Get的時候,只需要把鍵的值放在GetXXX方法中的參數位置就可以查找到跟鍵相對應的值
<2>值,是一個默認的值,可以不寫這個參數,默認是0;寫了的話,就是默認的值就你寫的值,
<4>這個值是可以通過Set修改的,一旦修改就是修改的值,關掉程序依舊存在,修改完之后把Set的語句刪除也還是修改完之后的值,不會影響,除非你使用刪除方法
(4)判斷是否存在鍵:類名.HasKey(鍵)
(5)刪除數據:類名.DeleteKey(鍵)
(6)當該鍵沒有Set的時候,我們使用Get去得到數據有以下幾種情況:
<1>如果Get方法中沒有寫默認值,該鍵中存儲的是相應類型的默認值(float、int的默認值是0,string的默認值是null)
<2>如果Get方法中寫了默認值,那么該鍵中存儲的就是這個默認值
(7)一般數據讀取用在初始化數據的Start開始方法中,而修改數據一般放在Update更新方法中
2.TXT
(1)主要寫了創建文件、讀取文件、刪除文件
(2)using System.IO; ? //對文件輸入輸出操作的命名空間
<1>StreamWrite類(寫入流)
1)以行的形式寫入信息:對象.WriteLine(信息);
2)關閉寫入流:對象.Close();
3)銷毀寫入流:對象.Dispose();
<2>StreamReader類(讀取流)
1)關閉讀取流:對象.Close();
2)銷毀讀取流:對象.Dispose();
<3>File靜態類
1)刪除文件:類名.Delete(文件絕對路徑);
2)是否存在文件:類名.Exists(文件絕對路徑);
3)創建文本:類名.CreateText(文件絕對路徑);
4)添加文本:類名.AppendText(文件絕對路徑);
<4>FileInfo類(文本)
1)文本是否存在:對象.Exists
2)創建文本:對象.CreateText();
3)添加文本:對象.AppendText();
4)打開文本:對象.OpenText();
(3)異常
<1>try{需要檢查是否存在異常的代碼塊}catch(System.Exception){捕獲到異常之后進行的操作}
(4)ArrayList (通過集合讀取每一行的信息)
<1>添加元素:對象.Add(添加的元素);
(5)using UnityEditor;
<1>刷新Unity編輯界面:AssetDataBase.Refresh();
(6)判斷平臺做出對應處理
<1>方法一:預編譯處理、預編譯命令、宏命令
#if。。。#endif
<2>判斷程序的平臺是否是當前在運行的平臺:
1)程序的平臺:Application.platform
2)運行的平臺:RuntimePlatform.枚舉成員(不同的平臺)
(7)數據路徑:Application.dataPath
在不同的平臺上的結果不同:
Unity 編輯器:<工程文件夾的路徑>/Assets
Mac播放器:<到播放器應用的路徑>/Contents
iPhone播放器:<到播放器應用的路徑>//Data
Win播放器:< 包含可執行播發器的文件夾的路徑>\Data
網絡播放器:到播放器數據文件夾的絕對路徑(沒有實際的數據文件名稱)
Flash: 到播放器數據文件夾的絕對路徑(沒有實際的數據文件名稱)
借鑒文章:http://wiki.ceeger.com/script:unityengine:classes:application:application.datapath
(6)File和FileInfo的區別
File是靜態類,對應整個文件系統進行操作,方法均為靜態方法,如果只對文件進行少量的操作,如判斷文件是否存在,或者對很多文件進行操作, 建議使用File類,因為可以避免頻繁的創建和釋放對象,可以減少系統的開銷,
?FileInfo是普通類,它對應一個具體的文件進行操作,方法大部分是普通方法,它里面的操作可能也調用了File靜態類的方法,如果只對一個文件進行大量操作,建議使用FileInfo類
在安全檢查方面,通過File類去調用的方法,都要占用CPU一定的時間進行安全檢查,即使使用File類不同的方法重復的對一個文件進行訪問時,也是如此。而FileInfo類只在創建對象時,執行一次安全檢查
3.CSV
(1)右擊桌面背景創建Excel文件
(2)在里面輸入內容,中間空幾行,以備后用,凡事留一線
(3)點擊文件,另存為,選擇另存為的路徑(切記這里不能直接強制把Excel文件的文件擴展名修改成csv或txt類型的,因為xlsx類型是以二進制格式進行存儲的,csv和txt類型是以文本格式進行存儲的,不同類型強制更改文件擴展名,打開會出現亂碼)
(4)保存類型選擇CSV UTF-8(逗號分隔),點擊保存,會提示你是否修改格式點擊是
(5)為了方便觀察,我們把文件的文件擴展名顯示出來
(6)首先文件圖標不同,其次文件擴展名不同,其三.xlsx是以二進制格式存儲,.csv是以文本格式存儲
(7)因為csv和txt都是文本存儲格式,所以我們可以直接強制把csv類型更改成txt類型
(8)更改之后,打開是這個樣子,每一列以逗號分隔開
(9)把Test.txt文本拖到Unity編輯器中
(10)代碼控制:通過行數和列名找到要找的信息
這里如果是用的動態加載則需要在Unity編輯器中創建Resources文件夾,在代碼中寫的路徑要跟Unity編輯器中的Resources文件夾底下的路徑對應上,不然會找不到目標文件
<1>TextAsset類
1)顯示文本信息:對象.text
2)切割字符串:字符串對象.Split(以一個字符串切割);
<2>字符串數組:string[] 數組名
<3>字符串交錯數組:string[][] 數組名
<4>其他類型轉換成string類型:
方法一:string 對象名=其他類型的對象名.ToString();
方法二:string 對象名=string.Format("占位符",其他類型的對象名);
<5>轉換類型:轉換的類型.Parse(被轉換的類型);
<6>單例模式:
1)聲明一個單例:public static 此腳本類型 對象;
2)單例對象實例化為掛載此腳本的游戲對象;對象=this;
3)單例的使用:通過其他腳本中>>腳本名.單例對象.腳本中方法>>調用這個方法
(11)隨便把腳本掛載到一個游戲對象身上,然后運行就會在控制臺打印出信息
4.JSON
(1)簡介
JSON 指的是 JavaScript 對象表示法(JavaScriptObjectNotation)
JSON 是輕量級的文本數據交換格式
JSON 獨立于語言:JSON 使用 Javascript語法來描述數據對象,但是 JSON 仍然獨立于語言和平臺。JSON 解析器和 JSON 庫支持許多不同的編程語言。 目前非常多的動態(PHP,JSP,.NET)編程語言都支持JSON。
JSON 具有自我描述性,更易理解
參考網址:http://www.runoob.com/json/json-tutorial.html
JSON 是純文本
JSON 具有"自我描述性"(人類可讀)
JSON 具有層級結構(值中存在值)
JSON 可通過 JavaScript 進行解析
JSON 數據可使用 AJAX 進行傳輸
(2)語法
<1>JSON 語法規則
JSON 語法是 JavaScript 對象表示法語法的子集。
1)數據在名稱/值對中
2)數據由逗號分隔
3)大括號保存對象
4)中括號保存數組
<2>JSON 名稱/值對
JSON 數據的書寫格式是:名稱/值對。
名稱/值對包括字段名稱(在雙引號中),后面寫一個冒號,然后是值
<3>JSON 值
JSON 值可以是:
1)數字(整數或浮點數)
2)字符串(在雙引號中)
3)邏輯值(true 或 false)
4)數組(在中括號中)
5)對象(在大括號中)
6)null
(3)使用
<1>創建一個Plugins(插件)文件夾,系統會先執行它里面的東西,比Awake方法之前執行,引用LitJson.dll文件,放在Plugins文件夾下
<2>選中LitJson,勾選上Any Platform(所有平臺)
<3>通過代碼:寫入Json文本到文件、讀取Json文本、從文件中讀取Json文本
用字符串類型的一個對象來接收Json文本,用@取消轉義
1)調用json操作的命名空間:using LitJson;
1.1)JsonMapper類
1.1.1)Json字符串轉換成對象,用JsonData類型的對象接收:JsonMapper.ToObject(字符串對象);
1.1.2)對象轉換成Json對象,用string類型的對象接收:JsonMapper.ToJson(對象);
1.2)JsonData類
1.2.1)讀取一個對象的值:對象[鍵]
1.2.2)讀取一個對象的某個數組元素中的值:對象[數組鍵][數組元素的索引值][當前數組元素的鍵]
1.2.3)讀取一個對象的數組元素的個數:對象[數組鍵].Count
1.3)JsonWriter類
1.3.1)開始寫入一組數據:對象.WriteObjectStart();
1.3.2)結束寫入一組數據:對象.WriteObjectEnd();
//以上相當于Json文本中的一對花括號
1.3.3)鍵:對象.WritePropertyName(鍵);
1.3.4)值:對象.Write(值);
//以上相當于Json文本中的一組鍵值對,先寫鍵再寫值
1.3.5)開始寫入數組:對象.WriteArrayStart();
1.3.6)結束寫入數據:對象.WriteArrayEnd();
//以上相當于Json文本中的一組方括號
2)調用System.Text的命名空間:using System.Text;
2.1)StringBuilder類(修改字符串)
2.1.1)String 對象是不可改變的。每次使用 System.String 類中的方法之一時,都要在內存中創建一個新的字符串對象,這就需要為該新對象分配新的空間。在需要對字符串執行重復修改的情況下,與創建新的 String 對象相關的系統開銷可能會非常昂貴。如果要修改字符串而不創建新的對象,則可以使用 System.Text.StringBuilder 類。
相關StringBuilder文章:www.jb51.net/article/45832.htm
3)調用System.IO的命名空間:using System.IO;
3.1)DirectoryInfo類
3.1.1)給對象實例化所在路徑構造方法:new DirectoryInfo(路徑);
3.1.2)是否存在:對象.Exists
3.1.3)創建目錄:對象.Create();
3.2)SteamWriter類
3.2.1)寫入數據信息:對象.WriteLine(信息對象);
3.2.2)關閉寫入流:對象.Close();
3.3.3)銷毀寫入流:對象.Dispose();
3.3)File類
3.3.1)編輯文本:對象.AppendText(絕對路徑);
3.3.2)創建文本:對象.CreateText(絕對路徑);
5.XML
5.1XML概念
XML 指可擴展標記語言(eXtensibleMarkupLanguage)。
XML 被設計用來傳輸和存儲數據。
HTML 則被設計用來顯示數據。
XML 是獨立于軟件和硬件的信息傳輸工具。
XML 是各種應用程序之間進行數據傳輸的最常用的工具。
5.2XML用途
XML 應用于 Web 開發的許多方面,常用于簡化數據的存儲和共享。
(1)XML 把數據從 HTML 分離
如果您需要在 HTML 文檔中顯示動態數據,那么每當數據改變時將花費大量的時間來編輯 HTML。
通過 XML,數據能夠存儲在獨立的 XML 文件中。這樣您就可以專注于使用 HTML/CSS 進行顯示和布局,并確保修改底層數據不再需要對 HTML 進行任何的改變。
通過使用幾行 JavaScript 代碼,您就可以讀取一個外部 XML 文件,并更新您的網頁的數據內容。
(2)XML 簡化數據共享
<1>在真實的世界中,計算機系統和數據使用不兼容的格式來存儲數據。
XML 數據以純文本格式進行存儲,因此提供了一種獨立于軟件和硬件的數據存儲方法。
這讓創建不同應用程序可以共享的數據變得更加容易。
(3)XML 簡化數據傳輸
<1>對開發人員來說,其中一項最費時的挑戰一直是在互聯網上的不兼容系統之間交換數據。
由于可以通過各種不兼容的應用程序來讀取數據,以 XML 交換數據降低了這種復雜性。
(4)XML 簡化平臺變更
<1>升級到新的系統(硬件或軟件平臺),總是非常費時的。必須轉換大量的數據,不兼容的數據經常會丟失。XML 數據以文本格式存儲。這使得 XML 在不損失數據的情況下,更容易擴展或升級到新的操作系統、新的應用程序或新的瀏覽器。
(5)XML 使您的數據更有用
<1>不同的應用程序都能夠訪問您的數據,不僅僅在 HTML 頁中,也可以從 XML 數據源中進行訪問。通過 XML,您的數據可供各種閱讀設備使用(掌上計算機、語音設備、新聞閱讀器等),還可以供盲人或其他殘障人士使用。
(6)XML 用于創建新的互聯網語言
<1>很多新的互聯網語言是通過 XML 創建的。
5.3XML樹結構
XML 文檔形成了一種樹結構,它從"根部"開始,然后擴展到"枝葉"。
5.4XML語法
(1)XML 必須包含根元素,它是所有其他元素的父元素
(2)XML 聲明文件的可選部分,如果存在需要放在文檔的第一行
(3)在 XML 中,省略關閉標簽是非法的。所有元素都必須有關閉標簽
(4)XML 標簽對大小寫敏感。必須使用相同的大小寫來編寫打開標簽和關閉標簽
(5)在 XML 中,所有元素都必須彼此正確地嵌套。
(6)在 XML 中,XML 的屬性值必須加引號。
(7)在 XML 中,一些字符擁有特殊的意義。
如果您把字符 "<" 放在 XML 元素中,會發生錯誤,這是因為解析器會把它當作新元素的開始.
為了避免這個錯誤,請用實體引用來代替 "<" 字符
(8)XML 中的注釋:<!--注釋的內容-->
(9)在 XML 中,空格會被保留,在 XML 中,文檔中的空格不會被刪減。
(10)XML 以 LF 存儲換行
<1>在 Windows 應用程序中,換行通常以一對字符來存儲:回車符(CR)和換行符(LF)。
<2>在 Unix 和 Mac OSX 中,使用 LF 來存儲新行。
<3>在舊的 Mac 系統中,使用 CR 來存儲新行。
<4>XML 以 LF 存儲換行
(11)XML 元素:指的是從(且包括)開始標簽直到(且包括)結束標簽的部分。
5.5代碼:
學習:創建XML、添加XML、更改XML、讀取XML
命名空間:
(1)using System.Xml;
類:XmlDocument(XML文檔)、XmlNode(XML節點)、XmlElement(XML元素節點)、XmlNodeList(XML節點集合)
<1>XmlDocument
1)對象.CreateXmlDeclaration(版本號,所使用的編碼,null);
2)把一個XmlNode類型的對象添加到對象當中:對象.AppendChild(節點對象);
3)創建一個元素節點:對象.CreateElement(元素節點的名字);
4)保存文檔:對象.Save(保存的路徑);
5)加載文檔:對象.Load(加載的路徑);
6)選擇單個節點:對象.SelectSingleNode(節點的名字);
7)查找單個節點的所有子節點:對象.SelectSingleNode(節點的名字).ChildNodes;
<2>XmlNode
1)把其他節點添加到此節點中,作為此節點的子節點:此節點對象.AppendChild(其他節點);
<3>XmlElement
1)創建屬性:對象.SetAttribute(屬性名字,屬性值);
2)創建文本節點:對象.InnerText=文本信息;
<4>XmlNodeList
(2)using System.IO;
類:File(靜態類)
<1>File
1)是否存在:File.Exists(路徑)
(3)using UnityEditor;
類:AssetDatabase(靜態類)
<1>AssetDatabase
1)刷新Unity編輯器界面:AssetDatabase.Refresh();
(4)創建XML:把腳本隨便掛載到游戲對象身上,點擊運行,點擊game窗口,按下A鍵時,5.xml的目錄中多了一個ChatData.xml文件,文件內容如圖
(5)添加XML:繼續按下B鍵,右擊工程視圖,點擊Refresh刷新,ChatData中的內容多了一部分
(6)更改XML:繼續按下C鍵,右擊菜單刷新,發現紅框部分更改了
(7)讀取XML:繼續按下D鍵,控制臺打印了節點的屬性name的值和節點的文本節點
(8)XML數據生成步驟
<1>引進C#的命名空間System.Xml
<2>生成XML文檔(XmlDocument類)
<3>生成根元素(XmlElement類)添加給文檔對象
<4>循環生成子元素添加給父元素
<5>將生成的XML文檔保存
6.SQL
增、改、查、刪
(1)SQL編輯器安裝
點擊SQL安裝包,依次默認點擊即可
此時,我們的安裝目錄下就會多出SQL編輯器的軟件
(2)新建一個數據庫文本
<1>雙擊SQL編輯器圖標打開編輯器,彈出窗口點擊ok
<2>創建一個新的數據庫
<3>選擇文件保存的位置以及保存的文件名稱
(3)通過SQL編輯器添加列表以及列名
<1>點擊Design,點擊左下角的加號
<2>彈出窗口,我們把Table Name(表名)改為user,點擊加號添加表中的列,下方的窗口顯示的是對應的SQL語句
<3>雙擊要修改的地方可以修改,Type右邊有個下拉菜單可以選擇數據類型,上面的修改也會影響下面的SQL語句
<4>在表中添加5個列,分別修改列的值類型,點擊創建
<5>此時列表如圖
(4)通過SQL語句添加列表以及列名
<1>點擊SQL,輸入創建列表的SQL語句>>create table "列表名"("列名1" 列值類型1,"列名2" 列值類型2,·····,"列名n" 列值類型n);
<2>點擊Execute,左下角顯示對號,說明運行成功
<3>引號加與不加無影響
<3>點擊Design,多了一個名為guest的table,點擊guest,也有添加的列名,對應下面的窗口中的SQL語句跟剛剛寫的SQL語句相同
(5)通過SQL編輯器添加值
<1>點擊Data,點擊user,點擊加號
<2>彈出窗口,分別點擊每一行的列名在下方的窗口里添加內容,注意內容要與后面的數據類型相匹配,添加完所有列的值(也就是一行的值),這里必須要添加所有的值才能添加,最后點擊保存
<3>完成后的界面
(6)通過SQL語句添加值
<1>點擊SQL,輸入添加值的SQL語句>>insert into "列表名" (列名1,列名2,······,列名n) values(列值1, 列值2,·····, 列值n);
如果不寫列名,默認是全部列名
<2>點擊Execute執行SQL語句
(7)通過編輯器修改值
點擊要修改的地方,會彈出一個窗口,把里面的值改為你想要的,然后Update修改更新
(8)通過SQL語句修改值
<1>點擊SQL,輸入修改值的SQL語句>>update "列表名" set 列名1=值1,列名2=值2,······,列名n=值n ?where 條件表達式
<2>點擊Execute執行SQL語句
(9)通過SQL語句篩選值
<1>點擊SQL,輸入篩選值的SQL語句>>select* from "列表名" where 條件表達式
*代表顯示所有滿足條件表達式的列值,也可以把*換成其他的列名,意思是顯示滿足條件表達式的列的列值
<2>下方窗口是篩選顯示的值
(10)通過編輯器刪除一行數據
<1>選中user,選中一行,點擊最下面的減號
(11)通過SQL語句刪除一行數據>>delete from 列表名 where 條件表達式
(12)通過SQL語句刪除一個列表>>drop table "列表名"
總結:
增:insert into "列表名" (列名1,列名2,······,列名n) values(列值1, 列值2,·····, 列值n);
刪:delete from 列表名 where 條件表達式
改:update "列表名" set 列名1=值1,列名2=值2,······,列名n=值n ?where 條件表達式
查:select* from "列表名" where 條件表達式
(13)簡單基本的SQL語句:
(1) 數據記錄篩選:
sql="select * from 數據表 where 字段名=字段值 order by 字段名 [desc]"
sql="select * from 數據表 where 字段名 like '%字段值%' order by 字段名 [desc]"
sql="select top 10 * from 數據表 where 字段名=字段值 order by 字段名 [desc]"
sql="select top 10 * from 數據表 order by 字段名 [desc]"
sql="select * from 數據表 where 字段名 in ('值1','值2','值3')"
sql="select * from 數據表 where 字段名 between 值1 and 值2"
(2) 更新數據記錄:
sql="update 數據表 set 字段名=字段值 where 條件表達式"
sql="update 數據表 set 字段1=值1,字段2=值2 …… 字段n=值n where 條件表達式"
(3) 刪除數據記錄:
sql="delete from 數據表 where 條件表達式"
sql="delete from 數據表" (將數據表所有記錄刪除)
(4) 添加數據記錄:
sql="insert into 數據表 (字段1,字段2,字段3 …) values (值1,值2,值3 …)"
sql="insert into 目標數據表 select * from 源數據表" (把源數據表的記錄添加到目標數據表)
(5) 數據記錄統計函數:
AVG(字段名) 得出一個表格欄平均值
COUNT(*;字段名) 對數據行數的統計或對某一欄有值的數據行數統計
MAX(字段名) 取得一個表格欄最大的值
MIN(字段名) 取得一個表格欄最小的值
SUM(字段名) 把數據欄的值相加
引用以上函數的方法:
sql="select sum(字段名) as 別名 from 數據表 where 條件表達式"
set rs=conn.excute(sql)
用 rs("別名") 獲取統計的值,其它函數運用同上。
查詢去除重復值:select distinct * from table1
(5) 數據表的建立和刪除:
CREATE TABLE 數據表名稱(字段1 類型1(長度),字段2 類型2(長度) …… )
(6) 單列求和:
SELECT SUM(字段名) FROM 數據表
參考SQL語句大全:https://baike.so.com/doc/3210900-3383815.html
7.SQL的深入
(1)要想在C#中使用數據庫,我們需要先做一些準備工作
<1>在Plugins文件夾下添加三個動態庫Mono.Data.Sqlite.dll,System.Data.dll,sqlite3.dll
1)先在Assets下新建Plugins(插件文件夾)文件夾。將Unity的安裝目錄C:\Program Files\Unity\Editor\Data\Mono\lib\mono\2.0
下的Mono.Data.Sqlite.dll,System.Data.dll拷貝至剛才新建的文件夾Plugins 下
2)在電腦中搜索sqlite3.dll,可能會有多個同名文件,我們要那個在Unity目錄下的,這個是我們自己設定Unity文件所在的位置,實在不行可以去官網下載 http://www.sqlite.org/download.html
3)右擊打開文件所在的位置,將sqlite3.dll拷貝至Plugins 文件夾下。
關于這三個動態庫文件,參考文章:http://blog.csdn.net/glunoy/article/details/52037598
<2>修改三個動態庫的信息
1)分別選中三個動態庫,修改信息,勾選Any Platforms(任意平臺),unity設定中CPU選擇Any CPU,OS選擇Any OS
2)下載平臺全部勾選
3)最后點擊Apply應用,這樣我們就可以在C#中使用數據庫了
(2)引入要添加的數據庫文件
(3)創建腳本文件
<1>命名空間:using Mono.Data.Sqlite;
類:SqliteConnection、SqliteCommand、SqliteDataReader
1)SqliteConnection
1.1)創建一個與數據庫鏈接的鏈接對象:SqliteConnection(數據庫路徑);
1.2)打開數據庫:對象.Open();
1.3)創建數據庫命令:對象.CreateCommand();
1.4)關閉數據庫鏈接:對象.Close();
1.5)銷毀數據庫鏈接:對象.Dispose();
2)SqliteCommand
2.1)輸入命令文本:對象.CommandText=信息;
2.2)執行SQL語句方法一:
受到影響的的行數,此方法只能用來增刪改:對象.ExecuteNonQuery();
2.3)執行SQL語句方法二:
當有多個查詢結果,只返回第一行第一列的值,此方法在查詢結果只有一個的時候使用,對象.ExecuteScalar();
2.4)執行SQL語句方法三:
可以返回多個或所有信息,對象.ExecuteReader();
3)SqliteDataReader
3.1)當前行是否有可讀信息:對象.Read();
3.2)可讀的行數:對象.FieldCount;
<2>命名空間:using UnityEngine;
類:Application
1)Application
1.1)找到要鏈接的數據庫所在的目錄:"Data Source="+Application.streamingAssetsPath+"StreamingAssets目錄下的目錄"
8.WWW
(1)簡單使用WWW類
<1>代碼貼圖:
<2>WWW類:
1)創建一個鏈接路徑的WWW對象:WWW(本地鏈接或者時網絡鏈接);
本地鏈接:需要在路徑前面加file://
網絡鏈接:服務器鏈接
2)錯誤:對象.error
3)是否在做:對象.isDone
4)圖片信息:對象.texture
5)卸載:對象.Dispose();
<2>IEnumerator協程
等待對象完成操作:yield return 一個對象;
最后:這里不奇怪了,按理說數據庫什么應該時挺多的,但我們這里是針對游戲開發,而在游戲開發中需要的并不多,基本操作即可。。