壁をすり抜けちゃう!衝突判定を作る(爆速オンライン3Dゲームの作り方 #06)

壁をすり抜けちゃう!衝突判定を作る(爆速オンライン3Dゲームの作り方 #06)
ok-scratch
壁の衝突判定を作って移動を改善するよ。
スターター
プロジェクト
リミックス用プロジェクトへ
難しさ

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

LOADING...

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

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

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

そういえば(かべ)はすりぬけちゃう状態(じょうたい)だったね!これじゃあまともに(ある)(まわ)れないぞ!

今回(こんかい)目標(もくひょう)(かべ)衝突(しょうとつ)判定(はんてい)(つく)る」

壁をすり抜けちゃう!衝突判定を作る(爆速オンライン3Dゲームの作り方 #06)を語るok-scratch ok-scratch

u003cpu003e今回(こんかい)手順(てじゅん)は、グリフパッチさんのオリジナルの動画(どうが)だと最初(さいしょ)(つく)()()ところなんだ。(ぼく)(さき)に3D()(いそ)ぎたかったから後回(あとまわ)しにした。その都合(つごう)(じょう)、スクショがちょっと(ふる)い。具体的(ぐたいてき)には背景(はいけい)()(くろ)で、3Dの(かべ)(うつ)ってない。ただまぁ実装(じっそう)(ちが)いはないから、スクショの背景(はいけい)()(くろ)なのは()にしないで(すす)めてほしい。u003c/pu003e

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

このあとの処理(しょり)でいったん()えるようにしといたほうが便利(べんり)なので修正(しゅうせい)しておくね。
幽霊(ゆうれい)をゼロにセットしよう。

(かべ)衝突(しょうとつ)判定(はんてい)(つく)

スプライト「プレイヤー」を(ひら)く。
壁をすり抜けちゃう!衝突判定を作る(爆速オンライン3Dゲームの作り方 #06)を語るok-scratch ok-scratch

u003cpu003eレベルと(おな)じようにプレイヤーも()えるようにしておこう!プレイヤーの幽霊(ゆうれい)も0にしておいてね。u003c/pu003e

定義(ていぎ)移動(いどう)する」 を(つく)

引数(ひきすう)距離(きょり)をもたせよう。スクショだと(わす)れてるけど「_移動(いどう)する」って(かん)じで最初(さいしょ)にアンダースコア()けておくの推奨(すいしょう)
()(うご)かすブロックに引数(ひきすう)()()てる。
上向(うわむ)矢印(やじるし)下向(したむ)矢印(やじるし)処理(しょり)を、この定義(ていぎ)()()えよう。
定義(ていぎ)(がわ)条件(じょうけん)ブロックを追加(ついか)する。
レベルに()れたら、っていう条件(じょうけん)にして(かべ)にあたったときの処理(しょり)(つく)るよ。
シンプルに(かべ)にあたったら(すす)んだ(ぶん)だけ()がるようにする。

CHECK! (かべ)(とお)()けなくなったかテストしよう!

楽勝(らくしょう)だね。

u003cpu003e(かべ)衝突(しょうとつ)判定(はんてい)基本(きほん)ができて、(かべ)をすり()けなくなった。u003c/pu003e

(うず)もれを回避(かいひ)する

(かべ)衝突(しょうとつ)判定(はんてい)はうまくいった。でもちょっとした問題(もんだい)(たね)同時(どうじ)にうまれてしまった。↓これをみてほしい。
いまって場合(ばあい)によっては↑こんな(かん)じで(うず)もれが発生(はっせい)してしまうんだ。これは2Dならそこまで問題(もんだい)ではないけど、3Dだと(かお)だけ(かべ)(なか)(はい)るような状況(じょうきょう)()まれることもある。これは事前(じぜん)回避(かいひ)しておきたい。そこであらかじめ(つく)っておいたヒットボックスというコスチュームの出番(でばん)だ。

ヒットボックスを利用(りよう)する

定義(ていぎ)「_移動(いどう)する」の最初(さいしょ)で、コスチュームをヒットボックスに着替(きが)えよう。
回転(かいてん)方法(ほうほう)を「回転(かいてん)しない」に()える。
処理(しょり)最後(さいご)で、それぞれもとに(もど)すよ。
壁をすり抜けちゃう!衝突判定を作る(爆速オンライン3Dゲームの作り方 #06)を語るok-scratch ok-scratch

u003cpu003eヒットボックスのサイズは4 x 4で、プレイヤーのサイズは8 x 8だから、ヒットボックスに()えてから(かべ)衝突(しょうとつ)したか判定(はんてい)するほうが、より(こま)かく(かべ)との距離(きょり)(はか)ることができる。結果的(けっかてき)(うず)もれなくなっているよ。もっともっと(こま)かく衝突(しょうとつ)判定(はんてい)をする方法(ほうほう)もあるけど、(いま)はこれで十分(じゅうぶん)だ。u003c/pu003e

CHECK! (かべ)(うず)もれなくなったかテストする

おっけぃ!

まとめ

よし、これで移動(いどう)基本(きほん)ができた。(かべ)衝突(しょうとつ)判定(はんてい)もできたし、(うず)もれも回避(かいひ)できた。今回(こんかい)以下(いか)のことができるようになったぞ。
  • (かべ)()れたら後退(こうたい)することで、すりぬけなくできた
  • コスチュームを調整(ちょうせい)するだけでカンタンに(うず)もれ回避(かいひ)できた
よーしこれで(うご)(まわ)れるね!って、あれあれ、まだスクラッチキャットが(すす)めずにいるぞ!次回(じかい)もチェックしてみよう。

グリフパッチさんの動画(どうが)参考(さんこう)にしています

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

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

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

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