這一章節講的其實簡單了許多,就是如何利用macro去呼叫plugin這樣而已。
程式碼大致上就長這樣子:
[macro name=messagebox]
[eval exp="informPlugin.showMessage(mp)"]
[endmacro]
這樣一來,呼叫macro messagebox就等於呼叫到informPlugin了。
不過這邊依然有個特別的地方可以注意,那就是mp的部份~
雖然看起來只丟了一個參數mp。
實際上,informPlugin.showMessage卻是可以定義成下面這樣
function showMessage(input) {
System.inform(input.message, input.title);
}
所以使用上可以變成
[messagebox message="This is blah blah..." title="Test"]
這樣一來呼叫macro時,mp底下就會帶有message, title這兩個變數,在程式中也就可以使用了。
另外,這好像是頭一次在挑戰TJS中看到範例有誤(?),在InformPlugin.ks中記得加上[return]標籤,不然程式一旦[call storage="InformPlugin.ks"]時,就跑不回來了。
上一章節作者還有加,這邊怎麼好像忘記了 0.o
總之,遇到有問題的人不妨把他加上吧,問題應該就解決了。
0 意見:
張貼意見