2020年3月31日火曜日

Umbrella_GoogleSheets_ranking_sample

前記事
Umbrella_GoogleSheets_オンライン_ランキングシステム

のUmbrella_GSRanking_Action_v1.1 に含まれている
サンプルシーン「Umbrellaランキングサンプルv1.1」 を説明します。

実行するとこのように。
スクリーンサイズは540x540で作ってました。

機能は見たままで、「名前」「スコア」を入力し、『決定』ボタンを押すとグーグル
シートに送信され、順位リストが返ってきて表示されます。
(入力した「スコア」が 、ローカルにセーブされた(ハイスコア)を更新していない
と、送信されません。)


『ランキングリスト取得』ボタンは、順位リストが取得、表示のみです。

------------------------------
オブジェ構成はこのように。
Canvas に テキストやボタン。emp は空オブジェで、それぞれにPlayMakerの状態遷移
を付けています。


RankingManager のインスペクタにある[ RankingSettings ]を設定します。


順位は10位までで、DESC、降順(値の大きい順)にします。

------------------------------
「emp 決定_送信」の状態遷移です。
右が、送信してリスト受信で、左がリスト受信と表示なのですが 、もともと2つのオブジェ
に別の状態遷移として分割していたのです。

が、共通のグローバル変数の別環境(配布先ですね)へのインポートがどうも安定しない
のでローカルのみで動作するように合体させました。ステートがちょっと多いですが、
一つ一つ見ていけば、単純な作業の積み重ねだとわかるはずです。


 これで、自身のハイスコアを更新したときのみの送信、通信時に変化するはずの
値を参照して、通信が成功しているかどうかの判断、をしています。

------------------------------
もう一つ「emp ID_ハイスコア削除」の状態遷移です。

ローカルに保存している、Userid を削除。ハイスコアを、"0" に設定します。
『ユーザーID+ハイスコア削除』 ボタンを押すと、ハイスコア のリセットされた
新ユーザーとして、スコアを送信できます。

------------------------------
[ RankingSettings ]を変更したり、ステートやアクションを変化させてみたり、
あれこれ、してみても面白いかもしれません。手軽にトライ&エラーができるのが
ビジュアルスクリプトのいいところです。


0 件のコメント:

コメントを投稿