奥行きを実装して真の三次元空間を創る(爆速オンライン3Dゲームの作り方 #09)

奥行きを実装して真の三次元空間を創る(爆速オンライン3Dゲームの作り方 #09)
グリフパッチ(動画)
ok-scratch(執筆)

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

奥行きを実装することで「壁の前」と「壁の後ろ」という別次元の情報を空間に持たせる。真の3Dはここからだった!
スターター
プロジェクト
リミックス用プロジェクトへ
難しさ

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

LOADING...

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

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

ゴンザレスからゲームクリエイターへの挑戦(ちょうせん)(じょう)

エンティティが描画(びょうが)されて、(てき)()えるようになった。でも(てき)がいない(みち)(さが)して遠回(とおまわ)りすれば問題(もんだい)ないよね!ってアレ!?(かべ)()こう(がわ)にいるはずの(てき)()えちゃってる!?これじゃあ速攻(そっこう)()つかっちゃうじゃんか……ダメダメ!なんとかしないと、しかし(かべ)()こうにいる(てき)をどうすれば(かべ)()こうに描画(びょうが)できるのだろうか……あぁなんだか(あたま)がこんがらがりそう(T_T)

今回(こんかい)目標(もくひょう)奥行(おくゆ)きを実装(じっそう)して(おく)から順番(じゅんばん)描画(びょうが)する」

いまは外見(がいけん)(じょう)は3Dだけど実際(じっさい)()錯覚(さっかく)でそう()えるだけで、XとYの2次元(じげん)空間(くうかん)()ぎない。だから(かべ)()こうにナノがいるはずでも、それが反映(はんえい)されないで(なん)でもかんでも(まえ)()ちゃう……これじゃあ(かべ)(かく)れながら(すす)んだり、トーストをくわえた少女(しょうじょ)(かく)()がったらイケメンとぶつかるイベントも()こせないよね!(え?いらない?)ということで今回(こんかい)はXとYにくわえてZに相当(そうとう)する3つ()次元(じげん)奥行(おくゆ)きを実装(じっそう)していこう(おも)う。↓これが目標(もくひょう)状態(じょうたい)
奥行きを実装して真の三次元空間を創る(爆速オンライン3Dゲームの作り方 #09)を語るok-scratch ok-scratch

\u003cp\u003e今回(こんかい)最後(さいご)には(しん)の3Dが(ぼく)らを()っているぞ。\u003c/p\u003e

マップを()えるようにしておく

このあとの処理(しょり)でいったん()えるようにしといたほうが便利(べんり)なので修正(しゅうせい)しておくね。
奥行きを実装して真の三次元空間を創る(爆速オンライン3Dゲームの作り方 #09)を語るok-scratch ok-scratch

\u003cp\u003eもしすでにマップが()えるようになっているなら、そのままでOKだよ~\u003c/p\u003e

幽霊(ゆうれい)をゼロにセットしよう。
奥行きを実装して真の三次元空間を創る(爆速オンライン3Dゲームの作り方 #09)を語るok-scratch ok-scratch

u003cpu003eあと、スプライト「エンティティ」の(みどり)(はた)()されたときに、ドラッグできるようにするブロックを()いておくとデバッグしやすい(スクショ()(わす)れた)u003c/pu003e

CHECK! (かべ)裏側(うらがわ)(てき)配置(はいち)したらどうなるかテストする

冒頭(ぼうとう)漫画(まんが)はいったいどういうことなのか、最初(さいしょ)現状(げんじょう)確認(かくにん)しておこう。↓こんな(かん)じで、エンティティを(かべ)(なか)移動(いどう)してみたら()かるよ。
なんと(かべ)前側(まえがわ)描画(びょうが)されてしまった!本来(ほんらい)このナノは(かべ)()こう(がわ)存在(そんざい)しているのだから、()えてはいけないよね。しかし(げん)段階(だんかい)では「(かべ)()こう」みたいな概念(がいねん)存在(そんざい)していないんだ。すべてが手前(てまえ)描画(びょうが)されてしまう世界(せかい)になっている。ここからは奥行(おくゆ)実装(じっそう)して、(なに)手前(てまえ)で、(なに)(おく)にあるのか、という情報(じょうほう)世界(せかい)(あた)えていくよ。
それにはリストを使(つか)った描画(びょうが)管理(かんり)必要(ひつよう)になる。さぁ、いよいよ手強(てごわ)部分(ぶぶん)()()かってきたぞ。
奥行きを実装して真の三次元空間を創る(爆速オンライン3Dゲームの作り方 #09)を語るok-scratch ok-scratch

u003cpu003eけっこうな難所(なんしょ)だけど、一緒(いっしょ)()()えていこう!u003c/pu003e

リストで描画(びょうが)管理(かんり)する

さっそくリストを使(つか)った描画(びょうが)仕組(しく)みを(つく)っていこう。

(あたら)しいリスト「描画(びょうが)X」を(つく)

スクショだと末尾(まつび)にリストって()いてあるけど、リストなのはブロックの(いろ)()かるから余計(よけい)だなと(おも)い「描画(びょうが)X」という名前(なまえ)()えました。

(あたら)しいリスト「描画(びょうが)距離(きょり)

こちらも末尾(まつび)のリストという文字(もじ)()しました。
初期(しょき)()しておくよ。

スプライト「レイキャスター」を(ひら)

ペン関連(かんれん)のブロックを移動(いどう)する

このブロックをドラッグアンドドロップで、スプライト「ペン」に移動(いどう)しよう。
移動(いどう)したらスプライト「レイキャスター」からは(みどり)のペンブロックは()してしまってOKだ。こんな(かん)じになるはず↓

描画(びょうが)必要(ひつよう)情報(じょうほう)をリストに()れる準備(じゅんび)をする

(つぎ)定義(ていぎ)「_シングル・レイ」を()つけて。
↓この(せん)のとこで()(はな)してみて。
「レベルカラーに()れたら」っていう条件(じょうけん)ブロックを(よこ)にどけて、↓こんな状態(じょうたい)にしておいて。

定義(ていぎ)「_描画(びょうが)する」を(つく)

(さい)描画(びょうが)せずに実行(じっこう)するにチェック()れてね。引数(ひきすう)が3つもあるんだ。
  • タイプ
  • X
  • 距離(きょり)
定義(ていぎ)「_シングル・レイ」の最後(さいご)実行(じっこう)しよう。↓このスクショを()引数(ひきすう)(つぎ)の3つを()れておいて。
  • タイプ:空白(くうはく)
  • X:変数(へんすう)「x座標(ざひょう)
  • 距離(きょり)変数(へんすう)距離(きょり)

条件(じょうけん)ブロックを(つく)って(かこ)もう

いま()いた定義(ていぎ)ブロックを「もし~でなければ」ブロックで(かこ)もう。そしてタイプのところにペンの(いろ)()れておいて。
定義(ていぎ)「_描画(びょうが)する」の(なか)で、(かく)引数(ひきすう)(かく)リストに格納(かくのう)するぞ。

u003cpu003e奥行(おくゆ)きを実装(じっそう)するために必要(ひつよう)情報(じょうほう)をリストに格納(かくのう)できた!u003c/pu003e

(のこ)りのペン関連(かんれん)ブロックを、スプライト「ペン」に移動(いどう)する

さっき()(はな)しておいたペン関連(かんれん)ブロックを、ドラッグアンドドロップでスプライト「ペン」に移動(いどう)しよう。移動(いどう)()()しちゃってOKだ。

CHECK! リストにデータが格納(かくのう)されるかテストする

実行(じっこう)すると↓こんな(かん)じになるぞ。

ペンで描画(びょうが)する

スプライト「ペン」を(ひら)こう。
さっき準備(じゅんび)したリストの中身(なかみ)使(つか)って、実際(じっさい)にペンを()れていくぞ。

定義(ていぎ)「_描画(びょうが)する」を(つく)

さっきスプライト「レイキャスター」でも同名(どうめい)定義(ていぎ)(つく)ったけど、今度(こんど)はスプライト「ペン」でも(つく)るよ。引数(ひきすう)はいらないよ。
↓この一連(いちれん)のブロックを追加(ついか)しよう。
描画(びょうが)Xの(なが)さ」(かい)()(かえ)すループを()こう。

変数(へんすう)(ぎょう)#」を(つく)

(ぎょう)#《ナンバー》を(つく)るよ。
ループの直前(ちょくぜん)で、1で初期(しょき)()しておこう。
ループの(なか)変数(へんすう)(ぎょう)#」を1ずつ加算(かさん)するよ。

定義(ていぎ)「_(ぎょう)描画(びょうが)する」を(つく)

奥行きを実装して真の三次元空間を創る(爆速オンライン3Dゲームの作り方 #09)を語るok-scratch ok-scratch

u003cpu003e(ぎょう)描画(びょうが)する、ってあんまり()かない日本語(にほんご)だよね。実際(じっさい)使(つか)われてないと(おも)うw ちょっと図解(ずかい)しておこうと(おも)うので↓これを()ておいてね。u003c/pu003e

ここまで(つく)ったロジックだと、ペンって(うえ)から(した)に1(ぎょう)ずつ(えが)いていくよね。定義(ていぎ)「_(ぎょう)描画(びょうが)する」の(ぎょう)は、この1(ぎょう)のことなんだ。おっけぃ。

実行(じっこう)する

ループの(なか)実行(じっこう)しよう。実行(じっこう)する場所(ばしょ)はさっき()いた変数(へんすう)(ぎょう)#」の(まえ)()いてね。

変数(へんすう)「タイプ」を(つく)

色々(いろいろ)(つく)るものが(おお)いけど、今度(こんど)は「タイプ」っていう変数(へんすう)(つく)るよ。
定義(ていぎ)「_ (ぎょう)描画(びょうが)する」の(なか)でいろいろな()をいれていくよ。

タイプ

()は、リスト「描画(びょうが)タイプ」の「(ぎょう)#」(ばん)()にしよう。

X座標(ざひょう)

これをまるっと複製(ふくせい)する。
複製(ふくせい)()(かく)()調整(ちょうせい)して、X座標(ざひょう)についても(おな)じようなブロックを(つく)る。

距離(きょり)

距離(きょり)(つく)るよ。複製(ふくせい)しよう。
(おな)じように(かく)()調整(ちょうせい)しておこう。

移動(いどう)しておいたブロックをくっつける

さっきスプライト「レイキャスター」から移動(いどう)しておいたペン関連(かんれん)ブロックをガチャン!っとくっつけよう。
とりまこれでOK!

メッセージ「ペイントする」を()()ったとき

テストの(まえ)にここで定義(ていぎ)「_描画(びょうが)する」を()いておこう。

CHECK! (こわ)れてないかテストする

色々(いろいろ)()えたから、(こわ)れてないかテストしておこう。
だいたいOKだね。でもナノが画面(がめん)(はし)にいるのが不自然(ふしぜん)(まじろぎ)()があるね。ずっと(はし)っこから監視(かんし)しているみたいだ……これは(なお)さないと、(てき)()つかっちゃいそうだね。さっき()いた定義(ていぎ)「_描画(びょうが)する」の場所(ばしょ)変更(へんこう)しよう。↓こんなかんじ。
↓ここに()けばナノが画面(がめん)から()えるはず。ちょっとしたタイミングの問題(もんだい)なんだ。
あと、(かべ)のカラーが()くなってたね。定義(ていぎ)「_(ぎょう)描画(びょうが)する」で、変数(へんすう)「タイプ」をペンの(いろ)設定(せってい)しよう。

CHECK! ナノが画面(がめん)(がい)()えるかテストする

これでナノが画面(がめん)(がい)にスムーズに()えるかな。
うん、大丈夫(だいじょうぶ)そうだね!ナチュラルな(うご)きになった。

(おく)から順番(じゅんばん)描画(びょうが)していく

奥行(おくゆ)きを実装(じっそう)するメインの処理(しょり)()()かるよ。3Dで奥行(おくゆ)きを実装(じっそう)するというのはどういうことかと()うと、(おく)にあるモノから順番(じゅんばん)描画(びょうが)していくということなんだ。基本的(きほんてき)には(あと)から描画(びょうが)されたものほど、(まえ)表示(ひょうじ)されるという法則(ほうそく)がある。だから(おく)から順番(じゅんばん)描画(びょうが)すれば、(まえ)のモノほど(まえ)に、(うし)ろのモノほど(うし)ろに表示(ひょうじ)されるんだ。つまり↓コレが実現(じつげん)できるってこと!
やってみよう!

スプライト「プレイヤー」を(ひら)

定義(ていぎ)「_レイキャスターを初期(しょき)()する」でダミー()をリスト「描画(びょうが)距離(きょり)」に追加(ついか)しよう。
(のこ)りの2リストについても追加(ついか)するブロックを()いておこう。

変数(へんすう)「★描画(びょうが)インデックス」を(つく)

インデックスとして使(つか)変数(へんすう)用意(ようい)するぞ。
  • インデックスってなに? インデックスってなに?

    インデックスというのはリストの何番目かという数字です。リストじゃなくても例えば図書館の本棚を想像してみて。本棚の5番目にある本のインデックスは5。19番目にある本のインデックスは19みたいなイメージ。

    プログラミングだとインデックスという言葉は必須知識の1つだから、もし知らなかったらこの機会に覚えよう。

    ちなみにメジャーなプログラミング言語だとインデックスは1番目が0になる。2番目が1になる。でもスクラッチだと1番目は1だし、2番目は2になってるから注意。

2で初期(しょき)()する。

スプライト「レイキャスター」を(ひら)

定義(ていぎ)「_描画(びょうが)する」に「◯まで()(かえ)す」ブロックを()いて、元々(もともと)あったリストに(かん)するブロックはいったん(はず)しておこう。
◯まで()(かえ)す、の条件(じょうけん)使(つか)演算(えんざん)用意(ようい)しよう。↓このブロックを準備(じゅんび)して。
この()(ざん)は「描画(びょうが)インデックス - 1」を(つく)っておいて。(スクショ()(わす)れたm(_ _)m)これを「◯ > 距離(きょり)」っていう比較(ひかく)演算(えんざん)左側(ひだりがわ)にセットしてみよう。
最終的(さいしゅうてき)には↓こんな(かん)じになるはずだ。

適切(てきせつ)位置(いち)にインデックスをセットする

使(つか)うブロックはカンタンだけど処理(しょり)複雑(ふくざつ)なところ。とりあえず実装(じっそう)していこうか。ループの(なか)で★描画(びょうが)インデックスをマイナス1ずつ()えていこう。
このループの直下(ちょっか)で、もう1つ「◯まで()(かえ)す」ブロックを()こう。
ここの条件(じょうけん)にも比較(ひかく)演算子(えんざんし)()れる。ただしさっきとは逆向(ぎゃくむ)きの比較(ひかく)をするぞ。「◯ < 距離(きょり)」を()こう。
左側(ひだりがわ)にはシンプルに、リスト「描画(びょうが)距離(きょり)」の「★描画(びょうが)インデックス」番目(つがいめ)、を()れよう。↓この画像(がぞう)をみて上下(じょうげ)条件(じょうけん)(しき)(ちが)うことを(さい)確認(かくにん)しておこう。
この(なか)変数(へんすう)「★描画(びょうが)インデックス」をプラス1ずつ()よう。(うえ)のループとは(なに)もかも(ぎゃく)だね。
この2つのループを(とお)して変数(へんすう)「★描画(びょうが)インデックス」は適切(てきせつ)位置(いち)にセットされる。ところで適切(てきせつ)位置(いち)とはなんだろうか?

適切(てきせつ)位置(いち)演算(えんざん)解説(かいせつ)

()んでもよくわからん、という(ひと)()ばしてもOK。現時点(げんじてん)理解(りかい)必須(ひっす)ではないけど、一応(いちおう)解説(かいせつ)しておく。まず2つのループを(つく)ったよね。1つ()はインデックスをマイナス1していくループ。2つ()はインデックスをプラス1していくループ。この1つ()のループでは(なに)をしていたのかを()ていこう。サンプルとして↓こんな(かん)じのリストがあったとしよう。矢印(やじるし)距離(きょり)(なが)さを(あらわ)しているよ。
↓★描画(びょうが)インデックスの1つ(じょう)と、引数(ひきすう)の1つである「距離(きょり)」を比較(ひかく)するんだよね。
引数(ひきすう)距離(きょり)」より、リストの中身(なかみ)(なが)かったらループを()めるんだよね。
ここまでが1つ()のループ。これで()わりでもいいんだけど、さらに2つ()のループを(つく)ったね。↓2つ()では引数(ひきすう)距離(きょり)」より、リストの中身(なかみ)(みじか)かったらループを()めるんだよね。
こうすることで、確実(かくじつ)描画(びょうが)距離(きょり)リストが「(おく)のモノがリストの(うえ)」に()るようになる。
これこそが(いま)まで使(つか)っていた適切(てきせつ)位置(いち)」の正体(しょうたい)なんだ。
奥行きを実装して真の三次元空間を創る(爆速オンライン3Dゲームの作り方 #09)を語るok-scratch ok-scratch

u003cpu003eなんだか複雑(ふくざつ)なことをしているなぁと(おも)うかもだけど、(じつ)はこういうリストの(なら)()処理(しょり)っていうのはシステム開発(かいはつ)でもゲーム制作(せいさく)でも(こう)頻度(ひんど)発生(はっせい)する(ちょう)一般的(いっぱんてき)なコーディングなんだ。専門的(せんもんてき)には「ソート」とか()ばれてる。数学(すうがく)公式(こうしき)みたいにパターン()されているものはアルゴリズムなんて()ばれたりする。u003c/pu003e

適切(てきせつ)位置(いち)(かく)リストに反映(はんえい)する

このインデックスを使(つか)って、(れい)の3つのリストに()をセットしよう。
これで奥行(おくゆ)きを反映(はんえい)した描画(びょうが)準備(じゅんび)(ととの)った!

CHECK! (おく)から描画(びょうが)されるかテストする

このテストはいつもとは(ちが)手順(てじゅん)(おこな)う。描画(びょうが)一瞬(いっしゅん)(おこな)われるから、()確認(かくにん)するには工夫(くふう)必要(ひつよう)なんだ。まずスプライト「ペン」を(ひら)いてほしい。
いったんプロジェクトを()めるために停止(ていし)ボタンを()そう。
その(あと)定義(ていぎ)「_描画(びょうが)する」をクリックしよう。
そうすれば……
こんな(かん)じでテストできると(おも)う!(おく)からペンで(えが)かれている様子(ようす)がバッチリわかるね!あーでもちょっと()って。↓肝心(かんじん)のナノがまだ(かべ)(まえ)描画(びょうが)されてしまうみたい。
それもそのはず。奥行(おくゆ)きが実装(じっそう)されたのは(かべ)だけであって、まだエンティティ(スタンプ)は(なに)()わってないもんね。

スタンプも奥行(おくゆ)きを反映(はんえい)する

エンティティも(いま)(つく)ったリストで管理(かんり)されるように(なお)していこうか!

スプライト「レイキャスター」を(ひら)

定義(ていぎ)「_描画(びょうが)する」をドラッグアンドドロップして、スプライト「エンティティ」にコピーしよう。両方(りょうほう)のスプライトに定義(ていぎ)「_描画(びょうが)する」が存在(そんざい)するようにしたいから、()さないでね。

スプライト「エンティティ」を(ひら)

定義(ていぎ)「_画面(がめん)回転(かいてん)させる」で、いまコピーした定義(ていぎ)「_描画(びょうが)する」を実行(じっこう)しよう。

引数(ひきすう)「タイプ」

タイプにはコスチューム(ばん)(ごう)()れる。とりあえず1にしておこうか。

引数(ひきすう)「X」

相対(そうたい)距離(きょり)X * (★DV / 相対(そうたい)距離(きょり)Y)」という演算(えんざん)(つく)ろう。↓この矢印(やじるし)参考(さんこう)(つく)ってみて。

引数(ひきすう)距離(きょり)

ここには変数(へんすう)相対(そうたい)距離(きょり)X」を()れよう。↓最終的(さいしゅうてき)にはこんな(かん)じ。
そして、この定義(ていぎ)ブロックを条件(じょうけん)ブロックで(かこ)んでみて。
条件(じょうけん)(しき)で、相対(そうたい)距離(きょり)Yがゼロよりも(おお)きいかどうかを調(しら)べる。

u003cpu003e自分(じぶん)(まえ)にいるエンティティに奥行(おくゆ)きを適応(てきおう)する準備(じゅんび)ができた。u003c/pu003e

スプライト「ペン」を(ひら)

メッセージ「ペイントする」を()()ったときの処理(しょり)をごっそり(はず)すよ。(よこ)にどけておいて。
奥行きを実装して真の三次元空間を創る(爆速オンライン3Dゲームの作り方 #09)を語るok-scratch ok-scratch

u003cpu003e↑(あと)使(つか)うよu003c/pu003e

そして最初(さいしょ)に「(かく)す」ブロックを()こう。

定義(ていぎ)「_(ぎょう)描画(びょうが)する」を改修(かいしゅう)する

ちょっと複雑(ふくざつ)改修(かいしゅう)作業(さぎょう)をするよ。いまって↓こんな(かん)じだよね。
これを「ペンの(あか)るさ」で()(はな)してから、変数(へんすう)(たか)さ」のブロックを、変数(へんすう)距離(きょり)」の(した)()ってきて。↓こんなかんじにする。
奥行きを実装して真の三次元空間を創る(爆速オンライン3Dゲームの作り方 #09)を語るok-scratch ok-scratch

u003cpu003e↑ちょっと複雑(ふくざつ)作業(さぎょう)だからスクショを()再度(さいど)確認(かくにん)してね。u003c/pu003e

変数(へんすう)(たか)さ」ブロックの直下(ちょっか)条件(じょうけん)ブロックを(はさ)もう。
条件(じょうけん)(しき)でタイプが10未満(みまん)かどうか調(しら)べる。
奥行きを実装して真の三次元空間を創る(爆速オンライン3Dゲームの作り方 #09)を語るok-scratch ok-scratch

u003cpu003eいきなり10っていう数字(すうじ)()てきたね。これはこのゲームで使(つか)えるエンティティ((てき)やアイテムなど)の上限(じょうげん)だよ。もちろん10じゃなくて50でも100でもOK。とりあえず10()にしておく、ってかんじ。定数(ていすう)変数(へんすう))を(つく)って管理(かんり)してもOK。u003c/pu003e

定義(ていぎ)「_エンティティをスタンプする」を(つく)

さっき『メッセージ「ペイントする」を()()ったとき』から(はず)しておいたブロック(ぐん)をここにくっつけよう。
奥行きを実装して真の三次元空間を創る(爆速オンライン3Dゲームの作り方 #09)を語るok-scratch ok-scratch

u003cpu003e↑ブロック(ぐん)最後(さいご)に「ドラッグできるようにする」があるけど、これはなくてもOK!u003c/pu003e

↓こんなかんじになるよ。
これを加工(かこう)していく。まず距離(きょり)(たか)さの処理(しょり)()しちゃって。
さらに最後(さいご)の「ドラッグできるようにする」がある場合(ばあい)()しちゃおう。
そしてこの定義(ていぎ)を、さっき追加(ついか)した条件(じょうけん)ブロックの(なか)実行(じっこう)する。
ココ以降(いこう)(かべ)描画(びょうが)する処理(しょり)になるから、エンティティをスタンプする場合(ばあい)処理(しょり)をここで()めちゃおう!
なんか加工(かこう)しまくったら結局(けっきょく)くっつけたブロックのほとんどを(はず)して、いったん↓ここまでシンプルにしてもらったほうが()かりやすいかも……。
あらためてX座標(ざひょう)とY座標(ざひょう)をセットしていこう。YはゼロでOK。
そしてペンのスタンプブロックを実行(じっこう)する。

CHECK! ナノが(かべ)(かく)れるようになったかテストする

やっほーーーい!ナノが(かべ)()こう(がわ)描画(びょうが)されたぁ!!(なが)かったね……w

まとめ

今回(こんかい)奥行(おくゆ)きを実装(じっそう)するのがメインだったね。しかしこれで3D空間(くうかん)(しん)意味(いみ)で3Dになったよ。XとYと奥行(おくゆ)き、この3つの次元(じげん)がそろって(はじ)めて3D(3次元(じげん))だからね。ふぅー!これでスクラッチキャット()(かべ)(かく)れながらスターを(さが)せるに(ちが)いない。っと、あれ?なんかスクラッチキャットが迷子(まいご)になってない!?なんてこった!次回(じかい)もチェックしてみてくれ。

グリフパッチさんの動画(どうが)

このチュートリアルは世界(せかい)No.1スクラッチャーとして名高(なだか)いグリフパッチさんの動画(どうが)参考(さんこう)にしているよ。ただし手順(てじゅん)一部(いちぶ)()えているところもあるんだ。
ブクマよろしくお願いします! ブクマよろしくお願いします!
どんどん追記・更新していくので、ブックマークやシェアよろしくお願いします!

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

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

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