C .
ODE
G
AMELET
Focus Issue
如何讓玩家的說話內容為一個變數
ekZEg opened 8 months ago 12
也順便教一下如何在控制台輸出一個變數
目前官方模組並無提供將說話內容儲存為區域變數的功能,可能需要靠自行更改觸發的trigger.ts內容達成;
關於控制台輸出,到搜尋處寫上"控制台輸出"之類的關鍵字,然後在輸出文字寫上變數,例如變數名稱叫variableName就寫{variableName},可以將{}當作把變數名稱轉換為變數之中的內容的東西,適用於絕大多數的情況
請問{}是什麼特殊語法嗎?? 好像在程式領域不常見,變數名稱就是一個單字 為什麼需要"{variable}"
我知道以前光暈也是這樣打的 但是一直都不明白...
個人意見:
這主要是小哈針對這樣的"可視化編輯器"所設計出來的東西,因為你沒有辦法去斷定用戶輸入的內容是變數、純數字、又或者是字串
畢竟若只是單單寫程式只需要寫變數名稱就完事了。
因此,我這裡所說"適用於絕大多數的情況"僅代表Events中那種可視化界面而已
你可以使用alt模組提供的觸發->角色->說話內容
(回應你底下另外的問題)
 
{}就是一個告訴程式這是變數的方式
假設變數名稱叫做actor,他是一個角色ID,那個ID是CH0001,變數名稱你可以當作是一個商品名稱,內容物則是那個角色ID
 
程式只會看內容物,直接跟程式要actor,他會當作你是要內容物是actor的東西,於是傳給你actor這幾個字
但你給{actor},他就知道你是要actor的內容物,他就會給你CH0001
{} 大概像是 JS 的 template literal,`var: ${var}` 在大括號裡塞變數,但既然都用 GUI 編輯,還得用這種特殊寫法,對 user 來說實在很不友善。
現在新版小哈沒有弄完整教學才這樣,以前舊版教學有解釋過,當時會寫在變數旁邊的問號裡的樣子

像你如果要複雜一點的變數,舉例來說最近我朋友用的 {light_{instance.location.x}_{instance.location.y}.index} ,
還有我自己用的 pow(pow({target.gamePosition.x} - {ApointX}, 2) + pow({target.gamePosition.y} - {ApointY}, 2), 0.5) 這種就一定要用{},沒辦法靠一個勾勾之類的把它一串字變成變數
Items per page:
1 - 10 of 13
ⒸCode.Gamelet.com | Privacy Policy | Terms of Service