Winter Starfall 中的原始程式碼和案例
本教學課程包含下載和執行 Winter Starfall 原始程式碼的指示,以及示範登入和購買案例最佳做法的程式碼範例逐步解說。原始程式碼下載
先決條件
- 安裝 Node JS
- 安裝 Visual Studio Code
本機開發設定
- 從 GitHub 下載原始程式碼。
- 在 VS Code 中,開啟
/website資料夾,並選擇安裝其建議的所有延伸模組。 - 在
/website目錄中,執行 npm install 以安裝所有相依性。 - 使用
npm run dev啟動網站。選取其提供的連結以檢視網站。
Azure 認證
若要更新 AZURE_CREDENTIALS 祕密,請在 Azure 入口網站殼層中執行此命令:az ad sp create-for-rbac --name "VanguardOutrider2" --role contributor --scopes /subscriptions/YOUR_SUBSCRIPTION_ID/resourceGroups/YOUR_RESOURCE_GROUP_NAME --json-auth
登入流程
Winter Starfall 中的玩家驗證流程有兩個步驟:登入呼叫,以及用來從服務取得玩家資訊並將其載入故事中正確位置的登入後函式。玩家驗證
在登入部分,檔案 use-login.ts 定義了一個 TypeScript 包裝函式,用來處理玩家可用的多種驗證方法。 第 144-169 行定義了使用電子郵件地址登入的回呼函式,並在登入成功時呼叫登入後函式。登入後:取得玩家資料
擷取安全性權杖之後,就會使用它來執行登入後函式,以取得已儲存的遊戲狀態。 第 340-378 行定義了 postLoginFunctions,它會呼叫各種 Economy 和 PlayFab Services API,以根據玩家載入正確的故事位置、庫存物品、貨幣等。- 首先,
ClientGetTitleData會取得所有 API 呼叫所需的祕密金鑰 - 接著,
EconomySearchItems會在目錄中搜尋貨幣和物品類型 - 這會用作
EconomyGetInventoryItems的輸入,以傳回玩家的庫存物品 - 然後,
ClientGetUserData會擷取將故事位置儲存為玩家資料一部分的值。
購買流程
在遊戲中的特定時間點,玩家可以選擇從商店購買和出售庫存物品。購買流程是在另一個包裝函式中實作。在檔案 use-store.ts 中,第 40-69 行會開啟玩家在特定位置遇到的正確商店,並透過搜尋目錄來填入待售物品。EconomyGetItem 定義於 use-playfab.ts 的第 423-446 行,其中使用 PlayFab Economy API GetItems 來搜尋目錄並傳回物品。
PurchaseInventoryItems API。這定義於 use-playfab.ts 的第 540-565 行。
出售物品
出售流程是如何使用 Azure Functions 驅動的 CloudScript 來擴充 Economy 系統功能的範例。 SellItem.cs 定義了出售物品時執行的 CloudScript 函式。 第 49-61 行使用 PlayFab 的GetTitleData API 傳回商店乘數並計算售價。
若要在本機執行 Winter Starfall,您需要 Azure 帳戶來支援 CloudScript 函式。您可以註冊免費的 Azure 帳戶,然後依照上述指示正確重設 Azure 認證。
另請參閱
- 登入流程
- 購買流程
- Economy V2 文件
- 深入了解 Economy V2 的另一個良好後續步驟,是試用製作遊戲教學課程,該教學課程著重於使用商店和庫存函式建置範例遊戲。
