折りたたみ用の Lua クイックスタート

このクイックスタートを使用すると、最初の PlayFab API の呼び出しを Defold で行うことができます。

PlayFab API を呼び出すには、 Playfab の開発者アカウントが必要です。

プロジェクトの設定を折りたたむ

OS: このガイドは、Windows 10 用に作成されています。 Mac でも適切に機能している必要があります。

  1. アカウントを作成して、[ダウンロード] を選びhttps://www.defold.com/ https://d.defold.com/stable/ます。または、(Google O-Auth を使用) にログインします。

  2. "はじめに" チュートリアル "を完了していない場合は、ここで行う必要があります。

  3. 次に示すように、Defold ダッシュボードで新しいプロジェクトを作成します。

新しい Defold プロジェクトを作成する

  1. [折りたたみ] を実行して、新しいプロジェクトを読み込みます。 次に示す例のようなウィンドウがいくつか表示されます。

折りたたみダッシュボード

  1. プロジェクト設定を更新して、依存関係に PlayFab を含めます。

    https://github.com/PlayFab/LuaSdk/raw/master/Defold/PlayFabClientSdk.zip

依存関係に PlayFab を追加する

  1. [プロジェクト -> 取得ライブラリ] を選択すると、次に示すように、新しい組み込みの playfab フォルダーが表示されます。

プロジェクト取得ライブラリ

  1. いくつかのファイルを作成します。

    • メイン/PfGettingStarted 開始しました。 gui

    • "Main" フォルダーを右クリックします。新しい -> gui ファイル -> のpfgettingstarted ます

    • メイン/PfGettingStarted た gui_script

    • "Main" フォルダーを右クリックします。新しい -> Gui スクリプトファイル -> の > は、gui_script を開始します。

  2. 新しい GUI をメインのコレクションに追加します。

    • [メイン] コレクションをダブルクリックして開きます。

    • アウトラインパネルで、次の操作を行います。

      • [ゲームオブジェクトの追加] を右クリックします (必要に応じて、[ pfgui] に名前を変更します)。
        • 新しいオブジェクトを右クリックし、[ファイルからコンポーネントを追加... ] をクリックします。
          • PfGettingStarted 開始されました。 gui (上記で作成)。
    • アウトラインパネルは、次の例のようになります。

      メインアウトラインパネル

PlayFab のインストールが完了しました。 このプロジェクトはまだ構築する準備ができていませんが、次の手順で修正します。

初めての API 呼び出しを設定する

このガイドでは、最初の PlayFab API 呼び出しを行うための最小限の手順を示します。 [ゲーム] ウィンドウに確認が表示されます。

  1. Defold エディターで、[ Pfgettingstarted た gui_script] をダブルクリックします。

  2. テキスト編集用のファイルが開きます。

  3. 次に示すように、PfGettingStarted の内容を更新します。

注意

この例で loginRequest オブジェクトの正しい形式を調べるには、 Loginwithcustomidの API リファレンスを参照してください。

local PlayFabClientApi = require("PlayFab.PlayFabClientApi")
local IPlayFabHttps = require("PlayFab.IPlayFabHttps")
local PlayFabHttps_Defold = require("PlayFab.PlayFabHttps_Defold")
IPlayFabHttps.SetHttp(PlayFabHttps_Defold) -- Assign the Defold-specific IHttps wrapper

PlayFabClientApi.settings.titleId = "144" -- Please change this value to your own titleId from PlayFab Game Manager

function init(self)
    local loginRequest = {
        -- See the API reference for LoginWithCustomID
        TitleId = PlayFabClientApi.settings.titleId,
        CustomId = "GettingStartedGuide",
        CreateAccount = true
    }
    PlayFabClientApi.LoginWithCustomID(loginRequest, OnLoginSuccess, OnLoginFailed)
end

function OnLoginSuccess(result)
    local pfTestOutput = gui.get_node("pfOutput")
    gui.set_text(pfTestOutput, "Congratulations, you made your first successful API call!")
end

function OnLoginFailed(error)
    local pfTestOutput = gui.get_node("pfOutput")
    local message = "Something went wrong with your first API call.\n"
    local message = message .. "Here's some debug information:\n"
    local message = message .. error.GenerateErrorReport()
    gui.set_text(pfTestOutput, message)
end
  1. Defoldエディターで、[ pfgettingstarted -> ] を右クリックします。テキストエディター****で開いている -> gui。 残念ながら、これによって内部設定が Defold に変わります。

    • もう一度開きます。 [ pfgettingstarted -> た] を右クリックします。 gui -> エディター****を使用して開きます。 これにより、既定値が "標準" にリセットされます。

    • [テキスト] の [編集] タブで、 Pfgettingstarted た guiを選択します。

    • 次に示すように、PfGettingStarted された gui のテキストコンテンツを更新します。

script: "/main/PfGettingStarted.gui_script"
fonts {
  name: "system_font"
  font: "/builtins/fonts/system_font.font"
}
background_color {
  x: 0.0
  y: 0.0
  z: 0.0
  w: 1.0
}
nodes {
  position {
    x: 100.0
    y: 620.0
    z: 0.0
    w: 1.0
  }
  rotation {
    x: 0.0
    y: 0.0
    z: 0.0
    w: 1.0
  }
  scale {
    x: 1.0
    y: 1.0
    z: 1.0
    w: 1.0
  }
  size {
    x: 1080.0
    y: 520.0
    z: 0.0
    w: 1.0
  }
  color {
    x: 1.0
    y: 1.0
    z: 1.0
    w: 1.0
  }
  type: TYPE_TEXT
  blend_mode: BLEND_MODE_ADD
  text: "Logging in..."
  font: "system_font"
  id: "pfOutput"
  xanchor: XANCHOR_LEFT
  yanchor: YANCHOR_TOP
  pivot: PIVOT_NW
  outline {
    x: 1.0
    y: 1.0
    z: 1.0
    w: 1.0
  }
  shadow {
    x: 1.0
    y: 1.0
    z: 1.0
    w: 1.0
  }
  adjust_mode: ADJUST_MODE_FIT
  line_break: false
  layer: ""
  inherit_alpha: true
  clipping_mode: CLIPPING_MODE_NONE
  clipping_visible: true
  clipping_inverted: false
  alpha: 1.0
  outline_alpha: 1.0
  shadow_alpha: 1.0
  template_node_child: false
  text_leading: 1.0
  text_tracking: 0.0
  size_mode: SIZE_MODE_AUTO
}
material: "/builtins/materials/gui.material"
adjust_reference: ADJUST_REFERENCE_PARENT
max_nodes: 512

完了して実行する

まず、すべてが保存されていることを確認し、別のタブを選択します。 次に、"*" マーカーを探します。 [折りたたみ] が更新されないことがあります。

次に、ゲームを作成します (Ctrl + b またはドロップダウン: Project -> build and Launch)。 画面に次のテキストが表示されます。

"おめでとうございましたが、API 通話を初めてお使いになりました。"

利用可能なすべてのクライアント API 呼び出しの一覧については、「 Playfab Api リファレンスドキュメント」をご覧ください。

コーディングをお楽しみください!

コードの Deconstruct

  • PfGettingStarted.gui

    • PfGettingStarted.gui手順は、expediency を対象としています。 このファイルは GUI 定義であり、テキストボックスを画面に追加し、他のスクリプトにバインドPfGettingStarted.gui_scriptします。 通常、これらのファイルをテキスト形式で編集することはありません。
    • 折りたたみ可能な GUI ウィジェットの構築方法については、こちらのガイドをご覧ください。
    • 折りたたみ式の GUI シーン
  • PfGettingStarted.gui_script

    • ステートメントとセットアップを必須にする。

      • PlayFabClientApi クライアント API の呼び出しを行うことができます。これは、ここで説明しています。
      • IPlayFabHttps と PlayFabHttps_Defold:
        • PlayFab Defold プラグインは、PlayFab LuaSdk 上に構築されています。 Lua 言語には、適切な HTTPS モジュールがありません。 各ゲームエンジンには、Lua が実装されています。 この2つの変数は、HTTPS へのアクセス方法を PlayFabSdk に指示します。 この操作は、プロジェクトの最初のシーンで1回だけ行う必要があります。 それ以外の場合は、単なる定型入力
    • PlayFabClientApi.settings.titleId = "144"

      • PlayFab を使用しているすべてのプロジェクトでは、PlayFab web サイトに一意のタイトルを作成します。これにより、ゲームマネージャーが呼び出されます。 ゲームマネージャー titleIdでを見つけて、に144置き換えtitleIdます。
    • function init(self)

      • Defold 関数-gui が初期化されたときに呼び出されます。
    • local loginRequest = { TitleId = PlayFabClientApi.settings.titleId, CustomId = "GettingStartedGuide", CreateAccount = true }

      • ほとんどの PlayFab API メソッドには入力パラメーターが必要です。これらの入力パラメーターは、要求オブジェクトにパックされます。
      • 各 API メソッドには、オプションパラメーターと必須パラメーターを組み合わせた一意の要求オブジェクトが必要です。
        • LoginWithCustomIDRequestは、プレーヤー CreateAccountを一意に識別CustomIdする必須パラメーターがあります。これにより、この呼び出しで新しいアカウントを作成することができます。
      • Login の場合、ほとんどの開発者は、より適切なログイン方法を使用する必要があります。
    • PlayFabClientApi.LoginWithCustomID(loginRequest, OnLoginSuccess, OnLoginFailed)

      • これにより、要求を使って API 呼び出しが実行され、成功と失敗の条件のコールバック関数が提供されます。
    • function OnLoginSuccess(result)

      • 多くの API 成功コールバックの result オブジェクトには、要求された情報が含まれます。
      • LoginResult プレーヤーについての基本的な情報が含まれていますが、ほとんどのユーザーは、他の Api を呼び出す前に、login が必須の手順です。
    • function OnLoginFailed(error)

      • API 呼び出しは、多くの理由で失敗することがあり、常に失敗を処理する必要があります。

      • API の呼び出しが失敗する理由 (尤度順)

        • PlayFabSettings が設定されていません。 TitleId をタイトルに設定し忘れた場合は、何も機能しません。

        • 要求パラメーター。 特定の API 呼び出しに対して適切または必須の情報を指定していない場合は、失敗します。 詳細error.errorMessageerror.errorDetailsついてerror.GenerateErrorReport()は、、、またはを参照してください。

        • デバイス接続の問題。 携帯電話は、接続を常に切断/回復するため、どのような時点でも、すべての API 通話がランダムに失敗した後、すぐに作業を行うことができます。 トンネルに入ると、完全に切断されることがあります。

        • PlayFab サーバーの問題。 すべてのソフトウェアと同様に、問題が発生する可能性があります。 最新情報については、リリースノートを参照してください。

        • インターネットの信頼性は、100% にはありません。 メッセージが破損しているか、PlayFab サーバーに到達していないことがあります。

      • 問題のデバッグが困難で、エラー情報内の情報が不足している場合は、フォーラムで skype にご連絡ください。

    • local pfTestOutput = gui.get_node("pfOutput")

      • これは、もう1つのデ折り畳み GUI 関数です。 このオブジェクトはpfOutput 、PfGettingStarted た gui ファイルで定義されている gui オブジェクトを取得し、ユーザーに表示するテキストを割り当てます。