2011年9月17日星期六

TJS教學---Hello World,初次編寫TJS

(k ゚∀゚)<上一次簡單介紹了什麼是TJS,今次正式編寫TJS。

慢著!我有問題,我到底在哪裡寫TJS?>( ゚ω゚ s)

(k ゚∀゚)<以前我曾經介紹過startup.tjs是吉里吉里程式的進入點,如果大家沒有修改的話,startup.tjs中只有以下這句有實際的作用。

Scripts.execStorage("system/Initialize.tjs");

(k ゚∀゚)<這是叫吉里吉里去讀取Initialize.tjs,而Initialize.tjs是用來初始化所有設定,並讀取各個tjs檔案,製作成這個我們之前常見看到的視窗,甚至是KAG和圖層的定義,由於希望大家由零開始學起來,所以我們直接寫在startup.tjs,先把startup.tjs的內容全部消除。

(k ゚∀゚)<不過當然呢......記得消除前先把檔案備份......

(k ゚∀゚)<作為第一次編寫TJS的範例,當然是由顯示Hello World作為第一個範例,看看以下的範例。

System.inform("Hello World!");










雖然跳了個提示視窗,不過總覺得完全沒有成就感......>( ゚ω゚ s)

(k ゚∀゚)<由於沒有讀取Initialize.tjs,吉里吉里只執行了上述的這一句,這便是吉里吉里最原始的模樣。

(k ゚∀゚)<其實吉里吉里是個直譯器(interpreter),而所有我們以前看到的東西,都是吉里吉里透過讀取TJS檔案來執行出來的,所以沒有讀取Initialize.tjs的話,就會像現在一樣什麼都沒有,所以說吉里吉里基本上可以只放krkr.eXe和startup.tjs就可以執行。

我突然覺得W.Dee很厲害!!居然可以設計出TJS,並且靠著TJS製作出遊戲視窗!!>( ゚ω゚ s)

(k ゚∀゚)<順便一提,由於沒有經Initialize.tjs(正確來說是MainWindow.tjs)定義到KAG,所以我們無法使用KAG。

(k ゚∀゚)<回到講解範例,上述的範例只有一句陳述句(Statement),就是在提示視窗上顯示Hello World,System.inform()是用來顯示提示視窗,括號內放著我們想顯示的字串(String),而字串必須放在雙引號(" ")內。

好像很多東西要記......>( ゚ω゚ s)

(k ゚∀゚)<大家暫時只需要知道System.inform()是用來顯示提示視窗就可以,因為要完全理解的話,差不多要學過後期才懂......

(k ゚∀゚)<不過還要記住,每當我們寫完一句的時候,必須用加上分號(;)。吉里吉里是透過分號來辨別陳述句結束與否,當吉里吉里看到分號時,吉里吉里會忽視換行和字與字之間多餘的空格,所以就算你寫成以下的模樣,對吉里吉里來說也是一樣。

System.inform ("Hello World!");

System.inform
("Hello World!");

System
.
inform
(
"Hello World!"
)
;

(k ゚∀゚)<只要是關鍵字完整,加上什麼空格和換行也沒問題,不過為了方便閱讀,還是不要亂寫比較好。

(k ゚∀゚)<我們有時會需要寫一些註釋(Comment)來提示自己,不同於KAG,KAG是用分號(;),TJS有兩種註釋的寫法,若果只有一句註釋,可以在註釋前面加上兩個斜號(//),若果多過一句的話,可以使用/*和*/,並且把註釋放在它們之間,以下是範例。

/*
這是範例。
*/
System.inform("Hello World!");//這句是顯示提示視窗

(k ゚∀゚)<所有註釋被吉里吉里忽略,所以大家在註釋上寫什麼都可以。

話說回來,我經常在吉里吉里的預設TJS檔案上看到這種註釋。>( ゚ω゚ s)

(k ゚∀゚)<這是因為用來方便大家理解裡頭寫的是什麼,而當我們寫TJS時,也應該習慣加上註釋,方便日後重新翻看的時候,令自己容易理解。

(k ゚∀゚)<今次先介紹到這裡,下次再見。

2 則留言:

  1. 請問kag下是否有辦法跳出提示視窗呢?

    回覆刪除
  2. KAG應該沒有辦法跳出提示視窗的,
    貌似連KAG-EX也沒有追加這功能。
    不過如果你希望在ks檔案裡使用TJS的話,
    可以用[iscript]和[endscript],把TJS寫在它們之間,
    例如這樣,
    [iscript]
    System.inform("Hello World!");
    [endscript]

    回覆刪除