跟我從零基礎學習Unity3D開發--U3d腳本注意事項及兩個基本函數的簡單介紹


經過上一篇的學習,我相信開發環境您已經搭好了,如果還沒有搭好可以百度一下。

今天主要講的有以下幾點:

第一:Unity3D中的C#腳本與.net中的C#寫法的區別

1.Unity3D C#腳本不支持命名空間.

2.Unity3D C#腳本初始化不要放到構造函數中,而是放到Start()方法中。

3.Unity3D C#腳本 get/set寫法屬性不被識別,直接public字段就能當屬性用,private或者不寫修飾符就是私有字段。

 

4.腳本中文問題:代碼中有中文的話會有亂碼問題。到資源管理器中打開項目的Assets文件夾(或點右鍵Show In Explorer),用unity3d目錄下的Editor\Data\Tools\UniSciTE下的UniSciTE.exe打開cs文件,File→Encoding改為UTF-8 with BOM,敲個空格造成修改,然后保存即可(可以修改cs文件打開方式更簡單)。最好一開始就修改編碼,否則會很麻煩。

完整的代碼:

第二:這里基本講解一下當您打開一個腳本自帶的兩個函數Start、和Update的用法和意思

1.Start

  對於這個函數我想不用多講,大家從字面意思就能理解,程序開始執行時調用的函數。上面提到Unity3D中初始化不能放在構造函數中要放到Start函數中。從某種意義上講可以理解為Unity3D吧傳統的構造函數用這里的Start來替換了(這里完全屬於個人理解如果不理解不正確希望大神指出)。所以我們把Start理解為構造函數自然就容易理解為什么初始化要放到Start中了。這個函數主要用於對一些游戲資源的初始化用的。我相信這個函數大家容易理解,這里都不多講了。重點看下面一個。

2.Update

  這個函數可以說是一個核心函數。這里先問一下?您知道什么是幀的概念嗎?如果處理過視頻、弄過ps、flash之類的做動態的視頻或者動畫的朋友可能對這個幀比較了解。我這里簡單描述一下幀的概念。大家先回想一下很久以前的那種電影是怎么做的?

沒錯就是你看到的這樣一張一張連接而成的,然后快速瀏覽每一張就形成了動畫。我們現在看到的視頻、Gif等等一些都是類這種電影的膠片一張一個圖像一個圖像拼接的,然后每秒播放不低於24張(為什么是24如果我沒記錯的話24是視覺什么的最低幀數低於這個就是放幻燈片了)就會形成動畫。講了這么多那什么是幀呢?幀就可以形象的理解為這電影膠卷的每一個圖片。

我這里引用一下百度百科

幀——就是影像動畫中最小單位的單幅影像畫面,相當於電影膠片上的每一格鏡頭。 一幀就是一副靜止的畫面,連續的幀就形成動畫,如電視圖象等。

你這時就會問講這么多廢話,Update到底是怎么回事還沒說呢?先別忙,如果您對幀這個概念不熟悉那么你對這個函數的理解就會還停留在.net中的事件驅動的那個機制。從字面理解Update就是刷新、更新的意思,那它刷新什么更新什么呢?我們用的Unity3d程序可以看作就是一個電影,當你一運行它,他就開始一幀一幀開始放映,沒播放一幀就會調用一下這個Update函數。可能這里有點空洞,沒關系大家先按自己當前理解的意思去做做練習,下一次會給大家一個實例來講解一下咯函數。(為什么這里不講我怕直接給例子先入為主了,當你按自己的理解去練習了才發下達不到效果,而后我再給出原因這樣理解深刻一點)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM