適用版本:trueSpace4以上
發表日期:1999/5/5
如果您按下「動畫控制項」面板的“播放”按鈕的話,不會執行動作,原因是程式中沒有設定關鍵畫面,所以若想要在場景中直接來執行這個程式,必須修改程式內容。另外,我們還會介紹其他的指令。
設定關鍵畫面
要加設定關鍵畫面的內容,請將程式內容修改如下:
from math import *
def ontimestarted():
global index;index=0 def ontimechanged(): global index me.Translate(.3*cos(index/10.0),0,0.0) me.Rotate("x",5) doc.ActiveTime=index me.SetFrame() index=index+1 doc.Draw() |
doc.ActiveTime=index─設定目前的動畫格數
me.SetFrame()─記錄物件的關鍵畫面
執行之後,您可以開啟關鍵畫面編輯器來觀看動畫設定的結果。
(圖三)
顯示變數的值
經過執行之後,我們得到正方體的運動狀況是“一邊向X軸移動,一邊旋轉,而且正方體會來回移動”。您可能想知道這個移動數值如何取得的,在此可以使用“print”指令來顯示移動的值。
from math import *
def ontimestarted():
doc.ClearOutTxt() global index;index=0 def ontimechanged(): global index me.Translate(.3*cos(index/10.0),0,0.0) me.Rotate("x",5) print index," ",.3*cos(index/10.0),0,0.0,"\n") index=index+1 doc.Draw() |
doc.ClearOutTxt()─用來清除偵錯區的內容。
print ─將變數的值顯示在偵錯區中。
所以執行的結果如下:
(圖四)
若正方體的位置在(1,0,0)時,則從上面就可以知道正方體在關鍵畫面0-10格的移動情形,請看下表:
關鍵畫面 |
正方體位置 |
0:(0.3, 0, 0) | (1.3, 0, 0) |
1:(0.2985, 0, 0) | (1.5985, 0 ,0) |
2:(0.2940, 0, 0) | (1.8825, 0, 0) |
3:(0.2866, 0, 0) | (2.1685, 0, 0) |
4:(0.2763, 0, 0) | (2.4448, 0, 0) |
5:(0.2632, 0, 0) | (2.7080, 0, 0) |
6:(0.2476, 0, 0) | (2.9556, 0, 0) |
7:(0.2294, 0, 0) | (3.1850 ,0 ,0) |
8:(0.2090, 0, 0) | (3.3940, 0, 0) |
9:(0.1864, 0, 0) | (3.5804, 0, 0) |
10:(0.1682, 0, 0) | (3.7486, 0, 0) |