Skip to main content

快速開發小訣竅(一):Script 自動化產出

在遊戲定義好開發規格後,會有一些部分相似、重複的程式碼,如果每次都要經由手動進行增加,那會是非常沒效率且枯燥乏味的,使用 Scripts 自動產出的方式,將會提升開發效率,更集中快速的製作遊戲。

 

本系列其他文章

 

使用環境 與 版本

  • Window 7
  • Unity 5.2.4

 

實作原理

1.透過一個純文字版型,裡面標註KEY,如下

2.使用取代版型中KEY的方式,將內容寫入

 

實作

1.首先建立資料夾,用於存放相關資料,如下

Folder_01

  • Editor:自動產出控制程式
  • GenerateFile:放置產出的Script
  • Templates:純文字版型

 

2.建立純文字版型(TableClass.txt),並將檔案放入 Templates 資料夾

 

3.建立控制程式(AutoGenerate.cs),並將檔案放入 Editor 資料夾

Line 9:宣告要實作的類別名稱

Line 11:實作 unity menu

Line 12~16:呼叫建立方法

Line 20:讀取版型

Line 24~27:實作 Script 內容  (這裡為了方便教學,每個實作內容都一樣,實際可以根據不同需求彈性定義)

Line 29~30:取代版型中的Key

Line 32~36:寫入並建立檔案

 

4.點選選單執行方法

Unity Menu Item → AutoGenerate → Generate

Menu_01

 

5.最後在 GenerateFile 資料夾就會看到我們建立出來的 Script 了

GenerateFile_01

 

 


 

 

2016/07/27 補充

Unity 官方已經有製作一個方便 Script 產出的 Editor,可以選擇不同 Script 版型、設定名稱、實作方法…等等

Create Script Dialog

需求版本:Unity 3.4.2 或 更高版本

icon_unity asset store

 

後記

使用自動建立 Script 的方式,讓我們快速建立重複、相似的 Script,不只可以使用在自動建立 Script,也可以應用在 Shader、Txt、報表檔案等等…,應用相當廣,懶人專屬!!

 

歡迎轉載,並註明出處 !

 

Arkai

獨立遊戲開發、技術分享。 Indie Game development and technology sharing.

6 thoughts to “快速開發小訣竅(一):Script 自動化產出”

    1. 實務上通常不希望出現的重複程式碼(Duplicate code),
      這樣的複製程式碼有點奇怪,
      後續維護有可能是一個小麻煩,
      例如遊戲企劃說要加入 sp 新屬性,
      雖說這範例改三份程式碼 PlayerData, EnemyData, FriendData 感覺還好…,
      但遊戲程式越大,總是有要還債的一天嘛

      1. 我自己實用過的例子:
        如果現在要一次建立十個 Script 去繼承同一個類別
        並實作裡面的某某方法
        再根據規範實作裡變的變數(每個類別的變數不一)

        這個自動化產出
        是用在要執行很多次的情況下
        當然~彈性的部分就要依據需求下去改
        並不是每個程式碼內容都一樣

        1. 更彈性的應用方式
          可以使用一個編輯器
          設定要增加的變數、方法、名稱、繼承的類別等等….
          設定完成後產出 Script

什麼?不懂! 那就提問吧!

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料