wiki

Storyboard scripting shorthand

在寫指令時,有三種縮寫方法可以使撰寫過程更簡單。

事件、持續時間、順序相同

如果你有一系列時間差和數值都相同的事件,則可以使用第一種縮寫。如下:

_(事件),(漸變),(第一事件的開始時間),(第一事件的結束時間),(數值1),(數值2),(數值3),(數值4)

將被展開成:

_(事件),(漸變),(第一事件的開始時間),(第一事件的結束時間),(數值1),(數值2)
_(事件),(漸變),((第一事件的開始時間) + (持續時間)),((第一事件的結束時間) + 持續時間),(數值2),(數值3)
_(事件),(漸變),((第一事件的開始時間) + 2 * (持續時間)),((第一事件的結束時間) + 2 * 持續時間),(數值3),(數值4)

(持續時間) 等於 ((第一事件的結束時間) - (第一事件的開始時間)) (提醒:"數值" 可以是兩個數字,適用於移動及向量指令)。

例如若要使物件在 51000 開始從隱形變成不透明,再變成半透明,變回不透明,最後回到隱形,且間隔一秒:

Sprite,Pass,Centre,"Sample.png",320,240
_F,0,51000,52000,0,1,0.5,1,0

此縮寫可套用到的數值沒有上限 (不止四個)。

開始及結束值相同

如同上面的例子,你可以讓指令的開始及結束值相同,來確保時間範圍內數值保持一致。因為此情形挺常見,所以只要將結束值省略即可。如下:

_(事件),(漸變),(開始時間),(結束時間),(數值)

將被展開成:

_(事件),(漸變),(開始時間),(結束時間),(數值),(數值)

例如若要在 1000 開始,將圖片在兩秒內寬度減半、高度加倍、且透明度為 75%:

Sprite,Pass,Centre,"Sample.png",320,240
_V,0,1000,2000,0.5,2
_F,0,1000,2000,0.75

開始及結束時間相同

如果指令中的開始及結束時間相同,你可以省略掉結束時間 (逗號仍不可省略)。如下:

_(事件),(漸變),(開始時間),,(參數...)

將被展開成:

_(事件),(漸變),(開始時間),(結束時間),(參數...)

如果你想要使物件從 1000 開始在螢幕上移動,但透明度保持 50%,可以寫成以下指令:

Sprite,Pass,Centre,"Sample.png",320,240
_F,0,1000,,0.5
_M,0,1000,2000,0,0,320,240
// ... more M commands

多次使用此類操作會導致物件的數值跳動 (例如無"補間",就像 Storyboard 編輯器那樣),例如以下的指令會導致圖片在移動過程中突然變成不透明:

Sprite,Pass,Centre,"Sample.png",320,240
_F,0,1000,,0.5
_F,0,1500,,1
_M,0,1000,2000,0,0,320,240