ギミックのリファクタリング|スクラッチでアスレチックゲームの作り方㉑

ギミックのリファクタリング|スクラッチでアスレチックゲームの作り方㉑
グリフパッチ(動画)
ok-scratch(解説)

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

楽しいリファクタリングの回です!今回はギミックを改善しよう。この次にギミックにもっと面白い機能を追加する下準備でもあるぞ。
スターター
プロジェクト
リミックス用プロジェクトへ
難しさ

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

LOADING...

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

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

ギミックを動くようにはなっているけど、ここの処理はまだまだ改善できる。というか改善しておかないと、複雑なギミックを作ったり、ギミックを再利用してアスレを盛り上げることが難しいんだ。

だから今回はギミックのリファクタリング(改善)に取り掛かろうと思う。なにげにリファクタリングが一番コーディングの練習になるから、気合を入れていってみよう。

今回の目標

ギミックの動きなどを再利用可能な形にリファクタリングしていく。

ステージを改変しておく

ちょっとスペースを作っておきたいから、シーン1の左側に通路を作っておこう。

そしてシーン1を複製する。

シーン0という名前にしよう。うん、シーンはマイナスになっても別に問題ない。

で、このシーン0は色々ギミックを試したいからできるだけ広い空間にしておく。

ok-scratch ok-scratch

ちなみにシーン0の上にシーンを作るとしたら?それはシーン100になる。シーン-1の上なら、それはシーン99になる。こんな感じで上下左右に好きなようにアスレワールドを展開しちゃってくれ。

スプライト「ギミック」を改善していく

ではスプライト「ギミック」をひらこう。

メッセージ「シーンを切り替える」を受け取ったときに、コスチューム1に着替えて最背面に移動しておこう。

そして新しく条件ブロックを置き、シーン0のケースを作る。

とりあえず適当なところに出現するようにXとY座標を設定しようか。

定義「_上下に動く」を作る

よし、じゃあこのギミックは上下に動くようにしよう。

これをシーン0のところで実行する。

コーディングする

まず向きを90度に直して、ずっとループを実行しよう。

あ、表示するブロックも置いておこう。

ここで1.5秒で移動するようにブロックを置き、Y座標だけ下に下るようにする。

そしてタイミング調整のためにゼロ秒待つブロックを置く。ゼロとはいえ若干の微調整になる。

さらにY座標が元に戻るようなブロックを置く。

ギミックが上下に動くかテストする

うん、いいね。これは上下に幅90で動くという相対的な値を指定しているから、どこにギミックを出現させてもいちいち座標を指定せずに動かすこと出来る。これだけでもステージ作りがめちゃめちゃ楽になったよね!

スプライト「エネミー」からコードをコピーする

つぎはエネミーを開こう。

そして緑の旗が押されたときの処理をドラッグアンドドロップでギミックにコピーしよう。

さらにメッセージ「シーンを切り替える準備をする」を受け取ったときの処理もコピーしよう。

最後に定義「_スポーンする」もコピーしよう。

これでOKだ。

ok-scratch ok-scratch

エネミーでも必要なブロックだから、消さずに残しておいてね。

スプライト「ギミック」をスポーンさせる

ではギミックに戻ろう。

コピーしておいた定義「_スポーンする」からID以下を外して削除しよう。

コスチュームに引数タイプを割り当てよう。

シーン0のときに、この定義を実行する。この際、引数にはもともと設定してあったXとY座標の値を引数に持たせて、向きは90度にしよう。また、タイプはコスチューム1としておいてほしい。

さらにシーン4のときに実行してた定義「ドアを置く」の代わりに定義「スポーンする」を使おう。定義「ドアを置く」は別の場所で使うよ。

コスチューム名に含まれる文言によって動きを変える

クローンされたときに条件ブロックを置こう。

ここでコスチューム名にどんな文言が含まれるか調べる。たとえばKeyという文言が含まれていたら、という条件を作ろう。

この場合はドアであると決める。だから定義「ドアを置く」を実行する。

これで元通りドアが置かれるようになった。でもコーディングはより柔軟になって、ステージ作りが簡単になりそうな気配をビンビン感じる。まだ感じない人も大丈夫、ちょっと試してみるよ。

上下する床を新しく作ってみる

今まで「コスチューム1」だったギミックのコスチュームに「上下する床」という名前をつけよう。

「シーンを切り替える」を受け取ったとき

そしてメッセージ「シーンを切り替える」を受け取ったときに、スポーンするタイプを「上下する床」にしておこう。

もう1つ追加しておこうか。

クローンされたとき

クローンされたときに新しく条件ブロックを追加して、コスチューム名に「上下」が含まれているかどうかを調べよう。含まれていれば定義「上下に動く」を実行する。

追加されたかテストする

ショート動画ではないけど、↓こんな感じで上下する床をサクッと再利用できたと思う。

実行ブロック1つでどんどんギミックを配置できるから、すっごく楽だね。

まとめ

これでギミックに革命を起こしていく準備が整った!次回はいよいよアスレチックが爆発的に面白くなる仕掛けを作る。そう、回転するギミックだ!

このグリフパッチさんの動画を再生してみて!(回転するギミックの部分だけ再生されるよ)

これやばいっしょ!お楽しみに!

当連載で取り上げるグリフパッチさんの動画はこちら

完成サンプルがあるよ
おつかれさま!今回のチュートリアルには完成サンプルがあるから、作ってて分からなくなったり、 動作確認をしたいときはチェックしてみてね。
このスクラッチゲームの作り方への質問もOK このスクラッチゲームの作り方への質問もOK
このスクラッチゲームの作り方に挑戦していて分からないことが発生したら質問してみてね。気づいたタイミングで回答するよ。 質問は 僕のスクラッチのプロフィール で受け付けているよ。

質問テンプレート(素早く3回クリックすると全選択できるのでコピーしよう)

・◯◯ ... 記事のどこまで実装が終わったのかを記入しよう。
・□□ ... どんな問題が起きているのか、どういうときに起きるのか、具体的に書こう。
・共有済みURL ... たまに共有してない作品URLを書いてる人がいるけど、共有しないとこちらから確認できないからよろしくね。
ブクマよろしくお願いします! ブクマよろしくお願いします!
どんどん追記・更新していくので、ブックマークやシェアよろしくお願いします!

スクラッチゲーム攻略

スクラッチゲーム

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