あなたの世界を作りなさい
経済

製品 API 使用例

18min

以下は、製品APIを使用して世界通貨と世界製品を管理する例です。

この例では、製品APIの基本的な理解を得て、サーバーとクライアント間でメッセージを送受信する実装を行うことができるため、世界通貨と製品の付与および控除を簡単にテストできます。

この例には、世界通貨と世界製品のクライアントスクリプトの説明が含まれており、その後、すべてのサーバーサイド処理を処理する統合サーバースクリプトが続き、以下の機能が含まれています:

  • 世界通貨の付与
  • 世界通貨の控除
  • 通貨控除なしでの世界製品の付与
  • 世界製品の控除
Document image




世界通貨の付与と控除

以下は、世界通貨の付与と控除を管理するための完全なクライアントコードと、その実装方法です。

通貨クライアントスクリプト

CurrencyManagerSample




通貨クライアントスクリプトの説明

  • キャラクターがロードされると、サーバーにルームメッセージが送信され、既存の通貨の残高がロードされます。その後、サーバーから受信した残高情報に基づいてUIが更新されます。
TypeScript

  • メッセージ交換を促進するために、CurrencyMessageインターフェースが定義されています。
TypeScript

  • ユーザーが通貨を増減させると、彼らはサーバーにルームメッセージとしてリクエストを送信します。 それには、どの通貨を増減させるか、そしてどのくらいの量を増減させるかのデータが含まれています。
TypeScript

  • サーバーは通貨の増減を処理し、最終的な残高情報をクライアントに送信します。クライアントはこの情報を受け取り、UIを更新します。
TypeScript




世界の製品の付与と控除

以下は、世界の製品の付与と控除を管理するための完全なクライアントコードと、その実装方法です。

製品クライアントスクリプト

ProductManagerSample




製品クライアントスクリプトの説明

  • キャラクターがロードされるときは、InventoryServiceを使用して、ZEPETO.Inventoryを使用して、製品の初期インベントリをロードします。その後、UIを更新します。
TypeScript

  • メッセージを送受信するには、ProductMessageインターフェースを定義します。ProductAction列挙型を定義して、例の実装を行います。
TypeScript

  • 製品を増減させるとき、そのデータをサーバーにルームメッセージとして送信します。 どの製品をどれだけ増減させるかに関するデータが含まれています。
TypeScript

  • 製品の変更を処理した後、サーバーは最終的な在庫情報をクライアントに送信し、UIをそれに応じて更新します。
TypeScript




サーバースクリプト

以下は、世界の通貨と製品を管理する完全なサーバーコードと、その実装方法です。

完全なサーバースクリプト

TypeScript




サーバースクリプトの説明

  • 世界の通貨を管理するには、ZEPETO.Multiplay.Currency
  • を使用して、currency.credit()currency.debit() を使用して、希望する通貨の残高を増減させます。その後、currency.getBalances() を呼び出して、各通貨の現在の残高を取得します。
TypeScript

  • 世界の製品を管理するには、ZEPETO.Multiplay.Inventory
  • を使用して、inventory.add()inventory.use() を使用して、希望する通貨の残高を増減させます。
TypeScript

  • クライアントからの通貨や商品の増減に関するリクエストを処理します。
  • 使用するloadBalance()を使用して、ZEPETO Studioに登録された通貨情報を取得します。
  • 複数の通貨がある場合、特定の通貨IDの値に基づいて条件を設定し、その通貨の残高のみを取得できます。
  • 最終的な残高値をクライアントにルームメッセージとして渡します。