スクラッチでオンラインゲームを作る① クラウド変数の使い方

スクラッチでオンラインゲームを作る① クラウド変数の使い方
グリフパッチ(動画)
ok-scratch(解説記事)

和訳解説は動画作者のグリフパッチさんご本人から許可をいただいて掲載しております。
チャンネルはYOUTUBE ( by griffpatch )からどうぞ。

スクラッチで「トップクラスの」オンラインゲームを作る方法だよ。クラウド変数の使い方を一緒に見ていくぞ!
スターター
プロジェクト
なし
難しさ

任意)自分の作業中のスクラッチ作品URLを記録しておこう!再開するときに便利だよ。

LOADING...

※ この記録は今使ってるPCに保存されます。別のPCで作業するときは表示されません。

スクラッチプログラミングに挑戦している皆さん、どうも!スクラッチコーチです。

基本的(きほんてき)に1(にん)でプレイするスクラッチゲームが(おお)いけど、ときどきマルチプレイ対応(たいおう)しているゲームもあるよね。スクラッチのマルチプレイにはいくつか種類(しゅるい)があるんだ。たとえば(おな)じパソコンで1つのキーボードを友達(ともだち)一緒(いっしょ)使(つか)ってプレイする2Pや3P対戦(たいせん)もの。これは一緒(いっしょ)にワイワイしながら()()がれるから学校(がっこう)(やす)時間(じかん)とか(いえ)(あそ)()とかは最高(さいこう)だよね!ただまぁ、この場合(ばあい)(おな)場所(ばしょ)にいないとダメだけどよくあるオンラインゲームみたいに(べつ)場所(ばしょ)でプレイしている(だれ)かと一緒(いっしょ)にゲームがしたいっていう気持(きも)ちもあるよね。(すく)なくとも(ぼく)はあった、めちゃめちゃあった。そこで登場(とうじょう)するのがクラウド変数(へんすう)使(つか)ったスクラッチオンラインゲームだ!今回(こんかい)のチュートリアルシリーズでは、スクラッチでオンラインゲームを(つく)方法(ほうほう)()ていくから、最終的(さいしゅうてき)にはキミ自身(じしん)でオンラインゲームを(つく)れるようになるぞ!くぅぅぅぅう!いいんですか?!いいんです!
スクラッチでオンラインゲームを作る① クラウド変数の使い方を語るok-scratch ok-scratch

\u003cp\u003eオンラインゲームが普及(ふきゅう)してなかった時代(じだい)は、雑誌(ざっし)企画(きかく)でオンラインゲームみたいなことしてたんだよね。雑誌(ざっし)編集(へんしゅう)()信長(のぶなが)野望(やぼう)みたいなシミュレーションゲームの舞台(ぶたい)設定(せってい)(つく)ってくれて「キミは小国(しょうこく)殿様(とのさま)だ、(まわ)りは(てき)(かこ)まれてて治水(ちすい)工事(こうじ)必要(ひつよう)だし(へい)(すう)もまだまだ()りない。(つぎ)行動(こうどう)はどうするのがいいと(おも)う?ハガキを編集(へんしゅう)()(おく)って(おし)えてね!(おお)かった行動(こうどう)採用(さいよう)して、その結果(けっか)を◯(つき)(ごう)発表(はっぴょう)するよ」みたいな(かん)じで……。それでも()らない(だれ)かと一緒(いっしょ)にゲームができてるっていう(かん)じが面白(おもしろ)かったんだ。(いま)でも()たような企画(きかく)はあって、(ぼく)()(せん)だけどみんながどんな行動(こうどう)(えら)ぶのかワクワクしちゃうんだよね~。\u003c/p\u003e

今回(こんかい)目標(もくひょう)は「同期(どうき)処理(しょり)

今回(こんかい)目標(もくひょう)は、(おな)じプロジェクトを2つのタブで(ひら)いて、片方(かたほう)(うご)かすともう片方(かたほう)でも(おな)(うご)きをするという処理(しょり)専門的(せんもんてき)()うと同期(どうき)処理(しょり)実装(じっそう)していくことだ!
左側(ひだりがわ)のスクラッチキャットが(うご)くことで、右側(みぎがわ)のスクラッチキャットも(うご)いている(さま)()()れると(おも)う!これを(つく)るぞ!必要(ひつよう)なもの、それは気合(きあい)クラウド変数(へんすう)だ!

クラウド変数(へんすう)用意(ようい)する

クラウド変数(へんすう)有効(ゆうこう)()するのはカンタン。でもクラウド変数(へんすう)には特別(とくべつ)なルールがいくつかあるから、一緒(いっしょ)()ていこう。

ルール① New Scratcherは使(つか)えない

スクラッチアカウントには「New Scratcher」と「Scratcher」の2種類(しゅるい)があって、登録(とうろく)したばかりの(ひと)はNew Scratcherっていう状態(じょうたい)なんだ。Scratcherになるのはわりと(はや)いしカンタン。プロジェクトを公開(こうかい)したり、リミックスしたり、(だれ)かの作品(さくひん)にハートを()けたりしてれば自然(しぜん)とScratcherになってるから、そこまですごい制約(せいやく)ではないよ。

ルール② 変数(へんすう)(あたら)しく(つく)るときだけ有効(ゆうこう)()できる

変数(へんすう)(つく)って、クラウド変数(へんすう)(サーバーに保存(ほぞん)というチェックをONにしよう。
これだけでクラウド変数(へんすう)有効(ゆうこう)()()わり!ここまではなんてことないね。たったこれだけで、キミの作品(さくひん)()るすべての(ひと)がこの変数(へんすう)()共有(きょうゆう)できるようになるんだ。すごいよね!オラわくわくすっぞ!

ルール③ 数字(すうじ)しか()れられない

クラウド変数(へんすう)使(つか)えばチャットが(つく)れるじゃん!と(おも)うかもしれないけど、クラウド変数(へんすう)には数字(すうじ)しか(はい)らないっていうルールがあるんだ。でも数字(すうじ)駆使(くし)して(たの)しいオンラインゲームを(つく)方法(ほうほう)があるから安心(あんしん)してね。
スクラッチでオンラインゲームを作る① クラウド変数の使い方を語るok-scratch ok-scratch

u003cpu003e以前(いぜん)はクラウド変数(へんすう)使(つか)ってチャットを(つく)っても()かったんだけど、(いま)はu003cemu003e規約(きやく)禁止(きんし)されてるu003c/emu003eよ。スクラッチの歴史(れきし)(なか)でそれがベストであるっていう結論(けつろん)(いた)ったんだ。u003c/pu003e

ルール④ (くも)マークが先頭(せんとう)()

よっしゃ!クラウド変数(へんすう)()てみよう。こんなかんじで(くも)()いてるよね。これがクラウド変数(へんすう)である(あかし)なんだ。

ルール⑤ 1つの作品(さくひん)()き10()まで

クラウド変数(へんすう)は10()までしか(つく)れないっていうルールもある。

ルール⑥ ()最大(さいだい)2560文字(もじ)まで

1つのクラウド(へん)(かず)(はい)()最大(さいだい)2,560文字(もじ)までっていうルールもあるよ。巨大(きょだい)なプロジェクトを(つく)予定(よてい)(ひと)()をつけてね。

クラウド変数(へんすう)使(つか)ってみる

堅苦(かたくる)しいことは()わりにして、さっそく使(つか)ってみよう!

クリックしたら加算(かさん)する

とりあえずスクラッチキャットをクリックしたらクラウド変数(へんすう)1が加算(かさん)されるようにしてみよう。
コレに(つづ)けて加算(かさん)(よう)のブロックを()こう。普通(ふつう)変数(へんすう)(おな)じブロックで加算(かさん)できるよ。

テスト1

まぁそりゃ成功(せいこう)するよねw肝心(かんじん)なのはこの()(べつ)(ひと)とも共有(きょうゆう)できてるかどうかだよね。

テスト2

(べつ)(ひと)共有(きょうゆう)できているかどうかを調(しら)べるといっても、本当(ほんとう)(べつ)のアカウントを用意(ようい)する必要(ひつよう)はないんだ。単純(たんじゅん)(べつ)のブラウザ(タブ)で(おな)画面(がめん)(ひら)けばOK。
セーブしよう
とりまセーブしておこう。WindowsならCtrl + S、MacならCmd + Sで保存(ほぞん)できるよ。「共有(きょうゆう)する」は()さなくてもOKだよ。
プロジェクトページを(ひら)
エディタではなくてプロジェクトページに移動(いどう)しよう。
URLをコピーする
ブラウザのURLを選択(せんたく)してコピーしよう。WindowsならCtrl + C、MacならCmd + Cでコピーできるよ。
(あたら)しいタブを(ひら)
ブラウザで(あたら)しいタブを(ひら)くよ。(ぼく)はChromeだから、ひょっとしたらみんなと画面(がめん)(ちが)うかもしれないけど、EdgeやSafariならだいたい(おな)じような操作(そうさ)でいいはず。
URLをペーストする
さっきコピーしておいたURLをペーストするよ。WindowsならCtrl + V、MacならCmd + Vだよ。
これでEnterエンターキーを()せば(おな)じページが(ひら)くよ。
タブを(となり)同士(どうし)(なら)べる
タブを(つか)んでドラッグすると、自由(じゆう)(うご)かすことができるんだ。ブラウザの(はし)っこをドラッグすればサイズも()えることができる。適当(てきとう)でいいのでだいたい(となり)にくるように配置(はいち)してみよう。
クリックしてみよう!
(あたら)しい(ほう)(みどり)(はた)()して、どっちでもいいのでスクラッチキャットをクリックしてみよう!
ちょっとラグいけど、連動(れんどう)して()()わってる様子(ようす)()かるね!ちょっと専門的(せんもんてき)()うとこの状態(じょうたい)同期(どうき)()れてるとか同期(どうき)してるとかって()ったりする。このラグはバグじゃないんだ。クラウド変数(へんすう)同期(どうき)する(さい)に0.1(びょう)だけラグが(しょう)じるっていう仕様(しよう)なんだ。だからこのラグも()まえて(つく)っていくことになるよ。

座標(ざひょう)をクラウド(へん)(かず)()れる

よし!基本的(きほんてき)なクラウド変数(へんすう)同期(どうき)処理(しょり)について()れたから、もっと実践的(じっせんてき)なものも(つく)っていこう!(つぎ)はX座標(ざひょう)とY座標(ざひょう)をクラウド変数(へんすう)()れて、()同期(どうき)だけではなくて(うご)きも同期(どうき)させてみよう。

クリック処理(しょり)()

これはもう使(つか)わないから()しておこう。

スクラッチキャットをマウスと一緒(いっしょ)(うご)くようにする

テストをカンタンにするために、まずはマウスと一緒(いっしょ)にスクラッチキャットが(うご)くようにしておこう。

ずっとブロックを()

「マウスポインターへ()く」ブロックを()

サイドのブロックパレットにあるときは「どこかの場所(ばしょ)()く」ブロックと表示(ひょうじ)されているものを配置(はいち)しよう。クリックして選択肢(せんたくし)表示(ひょうじ)させると、マウスのポインターという(こう)()があるので(えら)ぶ。

テスト

()さそうだね。

クラウド変数(へんすう)2を(つく)

X座標(ざひょう)とY座標(ざひょう)の2つを()れたいから、もう1つクラウド変数(へんすう)用意(ようい)しておこう!

クラウド変数(へんすう)座標(ざひょう)()れる

X座標(ざひょう)をクラウド変数(へんすう)1に、Y座標(ざひょう)をクラウド変数(へんすう)2に()れていくよ。座標(ざひょう)データは「()()のところにあるよ。

X座標(ざひょう)をクラウド変数(へんすう)1に()れる

Y座標(ざひょう)をクラウド変数(へんすう)2に()れる

テスト

うん、大丈夫(だいじょうぶ)そうだね。

()()(がわ)処理(しょり)(つく)

さっきみたいに2つのタブを(となり)同士(どうし)(なら)べて、(ひだり)タブのスクラッチキャットを(うご)かしたら、(みぎ)タブのスクラッチキャットも(うご)くようにしたい。ここまでは座標(ざひょう)をクラウド変数(へんすう)にセットする処理(しょり)だったよね。これを送信(そうしん)処理(しょり)って(かり)()ぼうか。座標(ざひょう) → クラウド変数(へんすう)送信(そうしん)処理(しょり)こんどは(ぎゃく)受信(じゅしん)処理(しょり)(つく)ってテストしたいってこと。クラウド変数(へんすう) → 座標(ざひょう)受信(じゅしん)処理(しょり)作戦(さくせん)としては、数字(すうじ)キーの「2」を()したら送信(そうしん)処理(しょり)()めて受信(じゅしん)処理(しょり)(はじ)める、っていう(かん)じでコーディングしていきたい。やってみよう!

数字(すうじ)の2が()されたら

2が()されたら受信(じゅしん)処理(しょり)(はじ)まるようにする。

(ほか)処理(しょり)()める

まず送信(そうしん)処理(しょり)()めよう。

受信(じゅしん)処理(しょり)のループを()

受信(じゅしん)処理(しょり)(よう)の「ずっと」ブロックを()こう。

X座標(ざひょう)にクラウド変数(へんすう)1をセットする

いよいよ同期(どうき)処理(しょり)のメイン部分(ぶぶん)だ!

Y座標(ざひょう)にクラウド変数(へんすう)2をセットする

(おな)じようにY座標(ざひょう)も!

テスト!

学校(がっこう)のテストと(ちが)ってプログラミングのテストってワクワクするぜ!
その(まえ)にリロード
テストする(まえ)(みぎ)()いたタブはブラウザをリロードしておこう。
実施(じっし)
やってみよう!
  1. 右側(みぎがわ)のタブで数字(すうじ)キーの「2」を()
  2. 左側(ひだりがわ)のタブでマウスを(うご)かしてみる
よっしゃあ!さぁ(さけ)ぼう!「こいつ……(うご)くぞ!」(※)
スクラッチでオンラインゲームを作る① クラウド変数の使い方を語るok-scratch ok-scratch

u003cpu003e※ ガンダムのネタっす……u003c/pu003e

次回(じかい)

スクラッチキャットの同期(どうき)処理(しょり)完成(かんせい)した。しかしお()づきだろうか。右側(みぎがわ)のスクラッチキャットがカクカクしすぎじゃね!?そうなんだよ。この理由(りゆう)は「クラウド変数(へんすう)同期(どうき)するのに0.1(びょう)かかる」っていう仕様(しよう)にあるんだ。いまクラウド変数(へんすう)を2つ使(つか)ってXとYを同期(どうき)してるよね。裏側(うらがわ)処理(しょり)簡略(かんりゃく)()して()くとこうなってる↓左側(ひだりがわ)のタブからクラウド変数(へんすう)1を送信(そうしん)する → 0.1(びょう)()右側(みぎがわ)のタブで受信(じゅしん)するその(つぎ)(ひだり)からクラウド変数(へんすう)2を送信(そうしん)する      → さらに0.1(びょう)()右側(みぎがわ)のタブで受信(じゅしん)するニュアンスとしてはこうなってる。2つの変数(へんすう)使(つか)って同期(どうき)してるから実質(じっしつ)0.1(びょう) x 2になってて、(うご)きを再現(さいげん)するのに0.2(びょう)かかってるイメージなんだ。
スクラッチでオンラインゲームを作る① クラウド変数の使い方を語るok-scratch ok-scratch

u003cpu003e実際(じっさい)はもう(すこ)複雑(ふくざつ)でピッタリ0.2(びょう)ラグが発生(はっせい)しているわけではないけど、ここはイメージを()つことが大事(だいじ)なんで!これでOK!u003c/pu003e

でもとりあえず(うご)いた。そのことが素晴(すば)らしい。今回(こんかい)同期(どうき)処理(しょり)はオンラインゲーム制作(せいさく)における(おお)きな一()であると()えるぞ!次回(じかい)からはこのラグを解消(かいしょう)してもっとスムーズに(うご)くテクニックを紹介(しょうかい)していく。ぶっちゃけどんどん(むずか)しくなるから、(のう)みそに(あせ)かいて一緒(いっしょ)にがんばろうぜ!
ブクマよろしくお願いします! ブクマよろしくお願いします!
どんどん追記・更新していくので、ブックマークやシェアよろしくお願いします!

スクラッチプログラミングのゲーム攻略

スクラッチプログラミングのゲーム

    • 厳選されたスクラッチ人気作品リストがレビュー付きで楽しめます
      趣味に関するスクラッチ作品例
      勉強になるスクラッチ作品