在編碼中,變數是用來作為經驗中不同類型信息的佔位詞,例如玩家名稱、團隊比分或故事遊戲中的詞彙。在本章中,讓我們探索如何打開核心遊玩體驗的主要腳本並添加代碼來詢問玩家問題並利用他們的回答來豐富你的故事。
打開腳本
Roblox 創作者在 腳本 中編寫代碼,告訴 Studio 如何以及何時為經驗添加自定義行為,例如觸發不同類型的事件、保存玩家信息或生成敵人。Roblox 腳本使用 Luau 編程語言,你可以在稍後的 編碼基礎 系列中了解更多。
故事遊戲模板使用一個名為 StoryManager 的腳本來控制體驗的核心遊玩。該腳本已經包含了一些顯示完整故事給玩家所必需的代碼,但你將添加更多代碼以顯示你的互動故事。
要打開 StoryManager 腳本:
在 Explorer 視窗中,點擊 StarterGui 旁邊的箭頭以查看其包含的所有內容。顯示 GameGui。
點擊 GameGui 旁邊的箭頭以查看其包含的所有內容。StoryManager 腳本會顯示在最上面,還有幾個與本課程無關的其他內容。

雙擊 StoryManager 腳本。腳本的代碼顯示出來。
-- GLOBAL VARIABLESlocal storyMaker = require(script:WaitForChild("StoryMaker"))-- Code controlling the gamelocal playing = truewhile playing dostoryMaker:Reset()-- Code story between the dashes-- =============================================-- =============================================-- Add the story variable between the parenthesis belowstoryMaker:Write()-- Play again?playing = storyMaker:PlayAgain()end
注意代碼中很大一部分使用了 -- 符號,這稱為 註釋。編程者使用註釋來留下備註,它們不會改變腳本的運行方式。在本課中,您將在虛線註釋之間創建代碼,以便在一個地方專注於創建你的互動故事。
問玩家問題
作為最佳實踐,編程者創建的變數名稱應該描述它們存儲的信息類型。例如,如果你正在開發一個玩家被分成團隊的遊戲:
- team 變數存儲有關玩家的 團隊 信息。
- teamColor 變數存儲有關玩家的 團隊顏色 信息。
- teamScore 變數存儲有關玩家的 團隊得分 信息。
變數可以存儲各種信息,例如小數字、真或假的答案以及字符串。字符串類型的變數是特別的,因為它們可以存儲完整的句子,包括你想要問玩家的問題。
使用你在上一章中的佔位詞,你可以使用相同的佔位詞名稱創建字符串類型的變數,以描述你要在故事遊戲中向玩家提出的問題類型。
要為玩家問題創建變數:
在虛線註釋下方創建一個本地變數,為玩家想要替換的第一個詞命名。例如:
-- =============================================local name1-- =============================================使用 = 符號將變數設置為提供的 storyMaker:GetInput() 方法,該方法在巨大書本中顯示你的問題。你必須完全按照它的特定大小寫來輸入此方法,以便代碼正常運行。例如:
-- =============================================local name1 = storyMaker:GetInput()-- =============================================在括號中創建一個字符串,提問你想要問玩家的問題。請記住,字符串始終在引號中!
-- =============================================local name1 = storyMaker:GetInput("你最喜歡的名字是什麼?")-- =============================================
使用他們的回答
現在你有了一個玩家可以回答的問題,是時候編寫你的故事並添加行為,將你的佔位詞用他們的回答替換掉。
要為你的故事創建變數並使用玩家的回答:
在你的問題下方,創建一個名為 story 的新變數。請記住,變數名是小寫的!
-- =============================================local name1 = storyMaker:GetInput("你最喜歡的名字是什麼?")local story-- =============================================將你的字符串類型變數設置為你的故事的第一句話,讓佔位詞之前留一個空格。如果你的佔位詞正好在句子中間,你可以在教學的後面一章中添加其餘的句子。
-- =============================================local name1 = storyMaker:GetInput("你最喜歡的名字是什麼?")local story = ("在山坡上的樹上住著偉大的巫師 ")-- =============================================使用 .. 將故事的第一部分與玩家的回答結合起來。將事物結合在一起的過程稱為 串連。
- 在 story 變數的同一行上,添加兩個句點。
- 添加一個空格,然後輸入存儲玩家第一次回答的變數名稱。
-- =============================================local name1 = storyMaker:GetInput("你最喜歡的名字是什麼?")local story = ("在山坡上的樹上住著偉大的巫師 " .. name1)-- =============================================通過呼叫提供的 storyMaker:Write() 方法來向玩家顯示故事變數,該方法將你的故事寫入巨大書本中。
-- =============================================local name1 = storyMaker:GetInput("你最喜歡的名字是什麼?")local story = ("在山坡上的樹上住著偉大的巫師 " .. name1)-- =============================================-- =============================================storyMaker:Write(story)
現在是暫時停下來的好時機,進行遊玩測試,以確保故事可以正常運行!