ドッコーン!玉と玉の衝突を処理するぞ|スイカゲーム②
Scratchでスイカゲームを作ろう!~衝突処理編~
こんにちは!Scratchでスイカゲームを作るときの「衝突」動画の要約を載せておくよ!ゲームの中で果物どうしがぶつかったときに、どうやって処理するのかを見ていこう!
①まずは距離を計算しよう!
ボールどうしがぶつかったかどうかを判断するには、直線距離と重なりという2つの値を計算する必要があるんだ。
【直線距離の計算】
1. お互いの距離X = 相手のX座標 - 自分のX座標
2. お互いの距離Y = 相手のY座標 - 自分のY座標
3. 直線距離 = √(お互いの距離X² + お互いの距離Y²)
これはピタゴラスの定理を使った計算なんだ!小学校で習った三角形の斜めの辺を求める公式だよ。
②ぶつかったかどうかを判断しよう!
次に、重なりという値を計算して、プラスならぶつかっている、マイナスならぶつかっていないと判断するよ。
重なり = ((自分の半径 + 相手の半径) ÷ 直線距離 - 1) ÷ 2
③ぶつかった後はどう動く?
ぶつかったあとの動きは2つのステップで計算するよ:
- 座標の計算: ぶつかった瞬間、お互いが少しずつ離れる方向に移動
- スピードの計算: ぶつかった力で、それぞれのボールのスピードが変わる
特にスピードの計算は難しいから、コードをしっかりコピーしてね!
④ボールの見た目を整えよう
ボールの大きさに合わせて、コスチュームも変えると見栄えがよくなるよ!
コスチューム番号 = (半径 ÷ 5) - 2
ボールの大きさ = 半径 × 2
こうすると、半径が大きくなるにつれて、自動的にコスチュームも変わって、見た目も大きくなるんだ!
⑤ボールを転がそう!
ボールが転がるような動きを実装するには:
X座標 = X座標 + スピードX
角度 = 角度 - 90°
これで、ボールが転がりながら移動する感じになるよ!
⑥壁にぶつかったときの反発
最後に、画面の端に触れたときに少し跳ね返るようにしよう:
スピードX = スピードX × 反発力 × (-1)
反発力は0.2くらいがちょうどいいかな。これで壁に当たったとき、ちょっと跳ね返るようになるよ!
今回は衝突処理という、ゲーム作りの中でも難しい部分をやったね!でも大丈夫、一つずつ順番にコードを作っていけば、きっとできるよ。次回は雲から弾を落とす機能を作って、もっとスイカゲームらしくしていくよ!頑張ろう!
スクラッチャーからのコメント






























スクラッチゲーム攻略
スクラッチゲーム一覧

- あ行
- あ Appel
- あ RPG
- あ あつまれ どうぶつの森
- あ アクションゲーム
- あ アスレチック
- あ アモングアス
- あ アンダーテール
- あ 青の塔
- あ 青鬼
- え エーペックス
- お 落ちゲー
- か行
- か カービィ
- か 格闘ゲーム
- が がっぽり寿司ゲーム
- き キャプテンロケット
- き 恐竜ゲーム
- く クリッカーゲーム
- こ コールオブデューティー
- こ 荒野行動
- さ行
- し シミュレーションゲーム
- し シューティングゲーム
- し 射的・銃ゲーム
- じ ジオメトリーダッシュ
- じ ジャグラー
- す 3Dゲーム
- す スイカゲーム
- す スプラトゥーン
- す スマブラ
- す 寿司打
- せ 戦車ゲーム
- ぜ ゼルダの伝説
- そ ソニック
- た行
- た TACT-AIM
- た タワーディフェンスゲーム
- た 大砲ゲーム
- た 太鼓の達人
- た 戦うゲーム・バトル
- だ ダダサバイバー
- だ ダンシングライン
- だ 大戦争ゲーム
- だ 脱出ゲーム
- つ ツムツム
- つ 壺男
- て テトリス
- て テラリア
- で デルタルーン
- ど ドロップザナンバー
- ど ドロップザボール
- ど ドンキーコング
- な行
- に 2048
- に にゃんこ大戦争
- の 脳トレ
- は行
- は 8番出口
- ぱ パズドラ
- ぱ パックマン
- ぴ ピクミン
- ふ ファイブ・ナイツ・アット・フレディーズ
- ふ フォートナイト
- ふ フォールガイズ
- ふ フライデー・ナイト・ファンキン
- ふ フラッピーバード
- ぶ ブロスタ
- ぶ ブロック崩しゲーム
- ぷ ぷよぷよ
- へ ヘビゲーム
- へ ヘリコプターゲーム
- ぺ Paper.io
- ほ ホラーゲーム
- ほ 放置ゲーム
- ぼ ボンバーマン
- ぼ ボールころころ
- ぼ ボールブラスト
- ぽ ポケモン
- ぽ ポピープレイタイム
- ま行
- ま まち針ゲーム
- ま マイクラ
- ま マインスイーパー
- ま マリオ
- も もちもちスライム
- も モンスト
- も モンハン
- も 桃鉄
- や行
- や 野球
- よ 妖怪ウォッチぷにぷに
- ら行
- り リズム天国
- れ レースゲーム
- ろ ロックマン
- ろ ロブロックス
- 他
- わ わんこ大戦争
- ヴ ヴァロラント


- 趣味全般
- あ アニメーション
- あ アート
- い イラスト
- う UNO(ウノ)
- う 歌・曲のスクリプト演奏
- え エレベーター
- お オセロ
- お 音楽
- か カオスバトル
- か カードゲーム
- か 仮面ライダー
- く クレーンゲーム
- く 車運転ゲーム
- け 消しゴム落とし
- こ 工作
- し 将棋
- す スクラッチの文化
- つ 釣りゲー
- で デザインゲーム
- で 電車
- ど ドナルド(マック)
- ば バイク
- ぱ パズル
- ひ 飛行機
- べ ベイブレード
- め メダルゲーム
- め 迷路
- り 料理
- 映像作品、テレビ番組、漫画、動画などに関連したもの
- い イカゲーム
- が ガンダム
- き 鬼滅の刃
- し 進撃の巨人
- じ 呪術廻戦
- す すとぷり
- と 逃走中
- ど ドラえもん
- ど ドラゴンボール
- ね ネプリーグ
- ま マッシュル
- わ ワンピース
- ゲームセンター系
- げ 激カザーン
- す スロット
- ぱ パチンコ
- ほ ホリアテール
- み みんなでダービー(競馬)
- れ 連射でアタック
- kawaii系
- あ アイコン
- き 着せ替えゲーム
- ぺ ペット(育成)ゲーム
- スポーツ・運動系
- お 鬼ごっこ
- ご ゴルフ
- さ サッカー
- す スケボー
- す スポーツ全般
- た 卓球
- て テニス
- ば バスケ
- ぼ ボクシング
- ゆ 雪合戦・雪遊び
