JASS萌新学习指南(1)
為什么我照著教程做,結果進游戲后,運行不出來教程的效果?
可能是因為你T里面的觸發器名和代碼里函數不對應。
當T里面觸發器名為 a時,代碼中InitTrig_a則會在初始化運行。?
如果你覺得很麻煩 可以試試vjass的library的initializer功能。
為什么我代碼寫完,測試地圖報錯?
這個原因就太多了。我給你列舉一下常見的:
變量名用中文,標點等等。這些都是命名規范問題,這個教程講正常的jass,正常的jass是不支持這些的。
標點符號、英文問題,你可能使用了全角符號、全角英文。這個是你輸入法的問題了。如何切換請聯網自行搜索答案。在編輯器中是這種效果:
?
通過是否有語法高亮來區別是很容易的。
?可能通過復制粘貼的代碼會有問題。在教程中強烈要求自己寫,不要復制粘貼!網上的代碼也可能會有格式問題 請認真檢查。比如你看起來是空格 實際上并不是。
其他的各種語法錯誤,比如你少寫個endif,大小寫問題,括號少寫了等等等等。
其他的語法錯誤,比如宏定義之類我們不討論。
奇葩語法錯誤,比如if不能嵌套超過50層等。這種我想你可能不會遇到。
導入文件問題,比如導入的模型可能會導致編譯報錯、保存報錯,這種比較少見。
YDWE抽風,這種可能你再試一次就可以。不行就保存地圖 重啟打開。這里保存地圖如果會報錯,這里報錯指比如預處理錯誤,jasshelper的報錯,這樣你地圖保存是完整的(不用擔心地圖損壞,安全關閉),其他的需要看情況。
可能你魔獸在開著,關掉吧。
未知錯誤。建議問別人。
如果問題再次出現請換YDWE冷神版本
Q:為什么玩著玩著魔獸彈黑框?
A:彈黑框大致有三種情況
1.?? ?lua腳本彈出的,這個我們不考慮,因為這個經常用來輸出測試用的。
2.?? ?你地圖jass腳本運行出錯
常見的錯誤:?
除以零 顯示 Division by Zero
變量X未賦值便使用 Variable ‘變量名’ used without having been initialized(數組不用擔心)
代碼運行的操作碼、字節碼超過限制(30W) Hit opcode limit(這個通常發生在循環中)
這些都會說明具體在哪個函數內發生的。
1.?? ?可能某些地圖利用RB的C2I漏洞彈框,這個很少見,但是小心對你電腦造成危害。
Q:jass引起的地圖崩潰常見的有哪些?
A:這種貌似很多。舉幾個常見不容易注意的吧。
1、Player函數的參數 寫成負的或者大于15
2、elseif連續寫超過116次
3、移動已被刪除的閃電效果
4、死循環,這里通常不是loop,而是觸發,或ExecuteFunc等等
5、一些全局變量聲明時候附了不該附的值,比如GetLocalPlayer()
6、其他,可以試著用crash文件分析來分析原因。不過j引起的地圖崩潰概率是比較小的,其實大部分崩潰原因是來自物編。
?
總結
以上是生活随笔為你收集整理的JASS萌新学习指南(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jass 重置英雄
- 下一篇: 只要一步就让WorkNC导出应用至UG等