適用版本:trueSpace4以上
發表日期:1999/5/5
trueSpace4.0提供了十分強大Script(程式檔)─Python語言─的功能,您可以直接使用的 Python 語言及內建的編輯器,就能夠自訂動畫及模型效果,您只要在 trueSpace4 內部中編寫簡短的程式,就可以製作出互動應用程式或遊戲軟體的模型。程式檔 (Scripts) 可以直接取得相同的內部函數就像外掛程式般方便,所以您不需要購買編譯軟體或學習C語言,就可以加入 trueSpace 的功能。
您或許會問Python是不是一種新語言,可以說是也可以說不是,嚴格說起來應該算是C語言的一種「方言」(是指一種新語言由其他語言衍生而來,其語法、指令與原先語言類似),與VB觀念很像,有關Python語言的詳細資訊請到python語言。
在使用Python語言前要先看下面的資訊:
內建訊息處理程式:
內建訊息處理程式,我們可視為一個「副程式」,在不同狀況會由不同內建訊息處理常式處理。
| ontimestarted:時間開始;只執行一次,除非我們利用程式跳到該常式。 ontimechanged:偵測時間是否改變。該常式會不停執行,形同為一迴路,直到使用者中斷或在該常式中加一些判斷來終止。 ontimestopped:時間停止;只執行一次,除非我們利用程式跳到該常式。請注意該常式只是一個副程式而已,執行該常式不會讓程式停止,而是程式停止前最後執行的一個常式。 onmousemove(x,y):是否移動了滑鼠指標。 onobjectselected:是否按下滑鼠且選了新物件,只有該物件接受本訊息。 ondestroyobj:當物件失去選擇作用狀態。 onmouseclick:是否按下滑鼠且沒有選取新物件,所有物件均會接收本訊息。 onselectionchanged:是否有選取新物件,所有物件均會接收本訊息。
|
內建變數:
trueSpace有內建三個物件變數,透過他們便能夠存取不同物件的函數與屬性。
me:用於trueSpace物件本身,來替代物件名稱。
|
doc:用於整體物件,其屬性和me幾乎相同,但影響層面涉及全部物件,所以doc屬性和函數我們寫在任何物件下都可以,但方便閱讀起見大都放在「場景」物件中。
doc.Draw()會將所有物件重繪一次 |
trueSpace:主要控制與物件無關的動作,譬如SaveScene(“name”)儲存場景、LoadScene(“name”)載入場景、Stop()程式結束、…,用法沒有嚴格限制,可放在任何物件下。
|
變數宣告:
Python沒有什麼變數宣告,直接使用就可以,但該變數只能在某一個物件下的某一個常式下使用,如果要該物件下所有常式都可以使用,前面要加一”global”將該變數宣告為全域使用。
global:將某一變數宣告成全域變數,至於是什麼型別(Type)變數,Python會自動判斷。
撰寫時應注意的事:
| 指令大小寫有差別 有些程式語言對於指令大小寫並無嚴格限制,但Python確有大小寫上的差異,所以我們在編寫程式時,就必須時常作鍵盤上大小切換動作。
|
| 縮排 在寫程式撰寫時一定要縮排,如果沒有縮排則無法執行動作。 對於程式中的縮排要特別小心,您可以使用「Space」鍵或「Tab」鍵來進行縮排。在同一個程式中不可將「Space」鍵或「Tab」鍵混合用,也就說不可以第二行使用「Space」鍵,而第三行使用「Tab」鍵;另外,「Space」鍵的數目要統一,也就說不可以第二行空二格,而第三行則空一格,這樣也無法執行動作,所以當您決定何種縮排方式,請繼續按照此原則下去。
|