在使用unity開發遊戲的過程中,我們會遇到很多預製體,動畫,ui精靈,特效要掛載,不過這樣子直接掛載相信大家在打包或者在其他版本的unity上執行會出現丟失的情況。
如果不想直接掛載的話可以在**裡面載入。unity提供了乙個resources資料夾可以供我們在**載入檔案。
//子彈定義
private
gameobject m_bullet;
//start()裡面初始化子彈
m_bullet = resources.
load
("prefabs/bullet"
)as gameobject;
初始化的時候建議設為私有,那樣的話在unity編譯器裡面就沒有顯示可提供掛載的選項了。
resources.load();
是unity內建api,可以載入在resources資料夾裡面的資源,
prefabs是resources資料夾裡面的乙個資料夾。值得一提的是在開發中做好資料夾的分類能讓你更愉快地開發遊戲,要不然你會在找各種資源的過程中瘋掉。
bullets是resources/prefabs裡面的乙個預製體,要注意的是路徑不用輸入resources,因為只有在resources裡面的資源才能用resources.load();
載入,所以unity的開發者就把resources路徑省略了。
as gameobject
是把載入的預製體轉換為gameobject型別。
//槍身定義
private
transform m_bulletspawnanchor;
//尋找場景裡面的槍身物體
m_ulletspawnanchor = gameobject.
find
("bulletspawnanchor"
).transform;
gameobject.find("bulletspawnanchor")
;是unity裡面內建的乙個api,可以尋找場景裡面名為bulletspawnanchor
的物體。
由於是teansform型別,所以要把載入的資源轉換成transform。
很迷的Unity小問題
ps 2020 4 29 現在版本的unity已經不會出現這種情況了 pss 2020 9 8 其實還是有的,這是使用event造成的記憶體洩漏,現在難以避免,只能小心為上。不過好在unity封裝了乙個unityevent,將event的管理權交付給了unity系統,所以在destroy物件後,監聽...
oracle 小問題之監聽
今早上班遇到服務無法啟動的問題,檢視之後發現是資料庫無法連線,本體無法telnet資料庫的1521埠,登陸主機後發現是資料庫啟動了,但是監聽服務沒有啟動 監聽啟動後才能對外提供服務 解決辦法如下 1 root使用者登入linux伺服器,切換到oracle 使用者,使用 netstat an grep...
SSH之小問題解惑
注 以下版本指的是spring3 hibernate3 struts2 1,web開發中,servlet物件是否執行緒安全?當乙個http請求到來時,web容器的排程執行緒 dispach thread 會從已經初始化的執行緒池中分配乙個工作執行緒 worker thread 來負責處理該請求,該工...