提供:Japanese Scratch-Wiki
(クラウド変数から転送)
クラウドデータとは、データをクラウドに保存すること、またはその保存されたデータのこと。クラウドデータ機能はScratch 2.0で追加された。
現在、クラウドデータ機能が使えるのは変数のみであり、このような変数は「クラウド変数」と呼ばれる。クラウド変数は、全世界で値を共有できる特別な変数であり、数値のみ保存できる。このページでは、主にクラウド変数について述べる。(クラウドデータ機能が使えるリストである「クラウドリスト」は、Scratch 2.0のα・β版の実験的な機能だったが、現在は廃止されている。)
詳細
クラウド変数は、クラウド(Scratchのサーバー)に変数の値を保存することで、全世界でその値を共有できる、特別な変数である。クラウド変数は、変数名の最初に「☁ 」(雲のマーク+半角スペース)が付く。
クラウドに保存できるのは数値のみである。また、クラウド変数は1つのプロジェクトにつき10個まで作れる。以前はよくある質問に「しかし将来的には、徐々に、機能を拡大していく予定があり、現在の仕組みがうまく機能するようであれば、その他の機能(クラウドリスト、文字列のサポートなど)も追加していくつもりです。」と書かれていたが、現在は削除されている[1]。
また、非ログイン時やNew Scratcherは、クラウド変数を作成したり、値をクラウドに保存したりといった機能を利用できない。つまり、クラウド変数を世界記録機能として使っているプロジェクトなどは世界記録を更新できない。
作り方
ブロックパレットの変数カテゴリにある「変数を作る」をクリック。変数名を入力し、「クラウド変数 (サーバーに保存)」の横のチェックボックスをクリックして、チェックを入れる。そして「OK」をクリックする。
制約
クラウド変数には、普通の変数にはない制約がいくつかある。
文字の種類
クラウドに保存できるのは数値のみであり、文字列は直接には保存できない。逆に言えば、Scratchが「文字列」ではなく「数値」と認識するものであればなんでも保存できる。負の数や小数なども保存することが可能である。
なお、クラウド変数に文字を保存しようとすると、「クラウド変数」の「クラウド」の要素には保存されないが、「変数」の要素には保存される。この場合、普通の変数に文字を保存するのと同じようになる。
以前はクラウド変数に16進数(例:20F2A1)を保存することが可能だったが、第一次クラウドショックによりできなくなった。 クラウド変数に数値しか保存できない制約は、クラウドに特定の人物への悪口が保存されるなどのコミュニティーガイドラインに反する行為をはじめとする、さまざまな問題を防ぐことが目的である。
文字数
1つのクラウド変数につき256文字までしかクラウドに保存できない。
なお、クラウド変数に257文字以上保存しようとすると、「クラウド変数」の「クラウド」の要素には保存されないが、「変数」の要素には保存される。この場合、普通の変数に257文字以上保存するのと同じようになる。
第一次クラウドショック以前は10240文字保存できた。その後制限は128文字に減少したが、Scratch 3.0にて2倍の256文字になった。[2]
変数の数
クラウド変数は1つのプロジェクトにつき10個までしか作れない。
変数の種類
ローカル変数のクラウド変数は作れない。
クラウドモニター
クラウドデータの値の更新の記録は、クラウドモニターで確認できる。クラウドモニターには、ユーザー名、変数名、アクション、変数の値、更新された時間が表示される。モニターにはプロジェクトページのお気に入りボタン下の「データを見る」ボタンをクリックすることでアクセスできる。
注意
チャット
- 詳細は「チャット」を参照
- 詳細は「クラウドチャット禁止令」を参照
クラウド変数でチャットを作ることは技術的には可能だが、禁止されている[3]。ただし、送信できる文を一覧から選択する「定型文式チャット」は許可されている。 (例)「こんにちは」「一緒に遊ぼ!!」「😊」「楽しいね!!」など
クラウド変数の更新頻度
クラウド変数の更新は、プロジェクト内で0.1秒以上ごとである。ゆえに、クラウドへの値の保存を連続して行う場合、0.1秒以上間隔を空けて行わないと、変更したはずの値が変更されていないなどの不具合が発生する場合がある。また、普通の方法でオンラインゲーム等を作ると動きなどがなめらかではなくなってしまうため、工夫する必要がある。
バグ
クラウド変数は、「☁ 」の表示はそのままに、性質が普通の変数と同じになってしまう(クラウドに値が保存されないようになってしまう)という致命的なバグが起こることがある。 このバグの詳しい原因はわかっていないが、プロジェクトをコンピューターに保存して、それを読み込むという 動作を繰り返したときに発生しやすい[要出典]。
このバグは、クラウド変数の名前を変更することで改善できる可能性がある。
クラウドリスト
- 詳細は「クラウドリスト」を参照
クラウドリストとは、クラウド変数をリストに拡張させたもので、クラウドに保存できるリストのことである。文字列を保存するものを指すことが多い。ただし、現在はリストを直接クラウドに保存することはできないため、クラウド変数を利用して模擬的にクラウドリストを作製する必要がある。