UnrealScript
維基百科,自由的 encyclopedia
UnrealScript(通常縮寫為「UScript」)在虛幻引擎4發布之前是虛幻引擎的原生腳本語言,用於編寫遊戲代碼和遊戲玩法事件。該語言專為簡單、高階遊戲編程而設計[2]。UnrealScript解釋器由虛幻引擎的作者蒂姆·斯維尼編寫,他同時也是另一門更早的遊戲腳本語言ZZT-oop的創造者。
Quick Facts 編程範型, 實作者 ...
編程範型 | 面向對象、泛型 |
---|---|
實作者 | 蒂姆·斯維尼 |
面市時間 | 1998年5月,26年前(1998-05) |
當前版本 |
![]() |
型態系統 | 靜態、強類型、安全 |
操作系統 | 跨平台 |
文件擴展名 | .uc .uci .upkg |
網站 | docs.unrealengine.com |
啟發語言 | |
C++, Java |
Close
與Java類似,UnrealScript是面向對象的,不支持多重繼承(類都繼承自一個公共Object類),並且類的定義均存儲於與之同名的單獨文件中。與Java不同的是,UnrealScript沒有對原始類型提供面向對象的包裝。介面特性僅在虛幻引擎3和少數虛幻引擎2遊戲中受到支持。UnrealScript支持運算符重載;但除函數的可選參數特性外,不支持方法重載。
在2014年3月舉辦的遊戲開發者大會上,Epic Games宣布虛幻引擎4將移除對UnrealScript的支持,改為使用C++[3]。「藍圖視覺化編程」系統將讓設計師得以進行可視化編程,取代早期的Kismet可視化腳本系統[4][5]。
在虛幻引擎4開發過程中的一個關鍵時刻是,我們圍繞我自己設計的沿用了三代的腳本語言UnrealScript展開了一系列辯論。我們要讓UnrealScript在未來擁有競爭力,為此我們要做些什麼。之後我們不斷列出讓UnrealScript升級換代後需要支持的功能,以及誰可能能實現這個功能。這份列表越來越長,越來越龐大。之後我們便開了一次會來整理這份列表,做出取捨,然後指定計劃,然後——就在這時我說:「你們提出要添加進UnrealScript的這些功能C++已經都有了,那為什麼不直接丟掉UnrealScript直接全面倒向C++呢?要知道,最大化性能,最大化可調試性,這些優勢C++都能帶給我們。」
— 蒂姆·斯維尼,2017年在與Gamasutra的採訪中[6]