 |
轉載自:www.66rpg.com
原作者:Dubealex
Near Fantastica(特別講)
主講人(翻譯):frantice 電子書製作:小湖
第二講 基本詞彙和語法(上)
一些基本的廢話將完了,我們直接進入正題^0^..接下來的請大家一起跟我實踐~ 先在RGSS編輯器中新建一個腳本,插入這些: class Say_Something def initialize print 「I am therefore I』m coded」 end end 然後找個npc並在他事件頁的腳本那裏寫入Say_Something.new 點他後我們看到什麼了呢?冒出來一個寫着」 I am therefore I』m coded」的窗口. 這是為什麼呢?讓我們來一行一行地看: class Say_Something 這裏我們創建了一個叫Say_Something 的class (類) def initialize 這裏我們定義了一種新的方法叫Initialize (初始化) print 「I am therefore I』m coded」 我們增加了當」initialize」的方法被調用時執行的東西 兩個end是語法
我們再進一步學習: 「initialize」 是一種默認的方法,當你在事件中調用腳本時候執行. 腳本語句」Say_Something.new」 你用」new」的信息命令 RMXP 來創建Say_Something的對象 關於end: 哪些詞語需要用end來結束呢?看看這個.是不是清楚了點呢?:

|
 |
好了,我們回頭看看事件頁寫的那行」 Say_Something.new」 ,注意到了嗎, 它前面沒有寫對象, 我們可以試着改為」 my_object = Say_Something.new」 , 效果是一樣的,不過心裏舒坦了點吧…….這是為什麼呢??? 這裏我們創建了一個新的目標對象叫」my_object」 ,它應該是在」Say_Something」這個class里的,但是我們開頭那個」Say_Something 「,除了一條信息外空空如也..所以我們沒必要在事件那裏多一個對象.
那麼,我們來給這個空空如也的」Say_Something 「類多點什麼吧! 重新替換開頭那行腳本為: class Say_Something attr_accessor :greeting attr_accessor :name def initialize(greeting, name) @greeting=greeting @name=name end def say print @greeting + 「 「 + @name end end 然後在那個npc事件腳本里重新寫為: message1=Say_Something.new(「Hello」, 「Alex」) message2=Say_Something.new(「Hello」, 「Peter」) print message1.name print message2.name message1.say message2.say
執行看,是不是華麗多了?我們看到4個冒出來的窗口.分別顯示」Alex」,」Peter」,」Hello Alex」和」Hello Peter」 這裏我們創建了兩個目標」message1」和」message2」他們都依靠」Say_Something」類,就像第一講里那個汽車廠的例子一樣,改變一個是不會影響另一個的. 那麼他是如何運行的呢?請看第三講.
|