JASS萌新学习指南(1.3)
上集我們講了一個空觸發(fā)器轉(zhuǎn)J后的代碼,大部分解釋了一遍。
記不住沒關(guān)系,可以寫在紙上。
記住要自己動手實驗一遍。
接下來仍然是T轉(zhuǎn)J。
這里隨便舉了個例子
殺死觸發(fā)單位。
?
如果你對上集 理解了。
這里就多了一個東西
call KillUnit(GetTriggerUnit())
call 調(diào)用 函數(shù) KillUnit Kill=殺 Unit=單位
如果你記不住可以寫紙上,當然你如果記電腦里面也可以
Get=獲取 Trigger=觸發(fā) Unit=單位
獲取觸發(fā)單位 其實就是觸發(fā)單位
調(diào)用 ?殺死單位(觸發(fā)單位)
這個call KillUnit在Trig_aActions里面
上集我們已經(jīng)說了?
Trig_aActions就是T里面的動作函數(shù)
下面的示意圖:
?我們來看看事件
?
注意:不要管是否能在魔獸里真正有效執(zhí)行的問題,著重點在于能不能理解。
T轉(zhuǎn)J后:
?
我們可以看到是和之前一樣的(把#之類預處理全刪了,方便理解,不知道要刪的看上一集1.2)
區(qū)別在于
?
?
地圖初始化運行
這里是勾上的
地圖初始化這個事件是很特殊的 他不會在編輯器里面生成代碼,而是轉(zhuǎn)成J后的一個選項
同樣,T里面還有一個很特殊的選項
注意 這里是T如果把它去掉我們可以看到?
?
多了一個這么個東西
就是和初始打開是一個功能,但是轉(zhuǎn)J后沒有初始打開這個選項,僅僅是多了一行代碼。
call DisableTrigger(gg_trg_a)
disable不使用 Trigger 觸發(fā)器
這樣翻譯不一定正確,但你能理解即可。
看完了不正常的事件。我們來看看正常的事件轉(zhuǎn)J后是什么樣子
?
任意單位進入可用地圖區(qū)域殺死觸發(fā)單位
?
我們發(fā)現(xiàn)加了這個事件?
InitTrig_a里面加了一句
call TriggerRegisterEnterRectSimple( gg_trg_a, GetPlayableMapRect() )
很長 但是很容易解釋
Trigger 觸發(fā)器
Register 注冊
Enter 進入
Rect 矩形(區(qū)域)
Simple 簡單的
即:觸發(fā)器注冊進入?yún)^(qū)域事件(觸發(fā)器gg_trg_a,可用地圖區(qū)域())
Get 獲取
Playable 可以玩的
Map 地圖
Rect 矩形區(qū)域
我們可以看到?
?
這條函數(shù)和其他函數(shù)顏色不一樣(如果你顯示不出來顏色 建議用YDWE,有tesh插件。或者可能你的tesh被關(guān)閉,或者存在問題)
這個是紅色的。(如果你沒有改tesh配置的話是如此)
而其他的是紫色的
關(guān)于這點我們先提一下
TriggerRegisterEnterRectSimple、GetPlayableMapRect是blizzar.j文件里面的函數(shù)。
(通常被稱作bj函數(shù))
這類函數(shù)通常是封裝過的。
而紫色的CreateTrigger 這類是common.j文件里面的函數(shù)
(通常被叫做cj函數(shù),這里的cj函數(shù)和cjass不能混為一談!)
這類函數(shù)是底層的函數(shù)。
那么兩者具體區(qū)別在哪里?
紅色的函數(shù)其內(nèi)部是需要調(diào)用紫色的函數(shù),這類函數(shù)通常不推薦使用,因為這里面一些東西可能存在泄漏 或者 有一些你并不想要的多余步驟。
上面那段不理解沒有關(guān)系,關(guān)于這個我們可以以后說
我們只需要記住 通常情況下使用紫色的函數(shù) 而盡量避免使用 紅色的函數(shù)
這集就到這里了,講了一些事件 動作 轉(zhuǎn)J后的代碼。
關(guān)于條件以及其他的東西,我們以后講。
下集1.4再見。
?
總結(jié)
以上是生活随笔為你收集整理的JASS萌新学习指南(1.3)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html转盘游戏代码,html5 can
- 下一篇: 客制化实用知识