スクラッチコーチキャンプ ゲームクリエイターに、オレはなる!そんなキミを応援(子供も大人も)
  • ALL
  • はじめての方へ
  • スクラッチゲームの作り方

    車運転ゲームの作り方(スクラッチゲームの作り方)

    車運転ゲームの作り方(スクラッチゲームの作り方)
    この記事は スクラッチコーチで掲載されているオリジナル記事 のバックアップです。
    スターター作品
    なし
    今回の完成サンプル
    なし

    車運転ゲームの作り方を解説していくよ!ただの車じゃなくてタクシーを運転して、お客さんが待つタクシースタンドに停車させるゲームを作ってみたいと思う。

    タクシー乗ったことない人でも、タクシーを見かけたことはあるはず。今回は本物さながらのタクシーっぽいゲームにするために次の仕様を意識して実装していきたいと思う!

    ゲームの仕様(≒ルール)

    • 本物の車のように、前輪駆動で走行するようにする
    • 本物の車のように、タイヤの角度は左右合わせて45度くらいを限界にする
    • お客さんが待つタクシースタンド(四角い枠)に車が全部入ったらクリア
    • お客さんに左側のドアを向けて停車しないとクリアにならない
    • 障害物に当たったらやりなおし
    • お客さんに当たったら……ゲームオーバー!

    (日本だと)タクシーのドアって左側しか自動で開閉しないって知ってた?これは日本の道路が左側通行だから当然だね。

    じゃあ右側通行のアメリカだとどっちのドアが自動で開くでしょう?

    答えは、アメリカのタクシーのドアは自動で開かない、が正解(^_^;) ひっかけ問題でウォーミングアップw まぁ今は海外でも自動で開くタクシーもあるんかな。記憶だとドアは自分で開けた。日本のサービスレベルの高さを感じる。

    スプライト「前輪」の作り込み

    前輪から作っていくよ。車の本体はまだ描かないでOK。

    コスチューム

    コスチュームを書く。これはただの黒い四角でタイヤを描いた。大きさとかは本体を描くときに調整するから適当でOK。僕は12 x 44のサイズで描いてあるけど、自由だよ。センターの位置に注意してね。

    緑の旗が押されたとき

    メッセージ「リセットする」を受け取ったとき

    定義「_加速する」

    再描画無しで実行する定義だよ。

    定義「_ターンする」

    こちらも再描画なしで実行する定義だよ。

    車運転ゲームの作り方(スクラッチゲームの作り方)を語るok-scratch ok-scratch

    u003cpu003eハンドル(タイヤ)が左右に23度ずつしか動かないようにしている点に注目だね!u003c/pu003e

    メッセージ「次のステージにする」を受け取ったとき

    ずっとループの前でメッセージ「車を動かす」を送ってるのを見逃さないように。

    メッセージ「クリアした」を受け取ったとき

    これでピタっと車が停まるよ。

    スプライト「車」の作り込み

    次は本体の作り込みを掲載するよ。

    コスチューム

    車は自由に描いてOK!気をつけるのは、センターの場所だよ。横は後輪のあたりで、縦は画像の真ん中にしよう。

    車運転ゲームの作り方(スクラッチゲームの作り方)を語るok-scratch ok-scratch

    u003cpu003eこのタイミングで前輪の大きさを調整しよう。u003c/pu003e

    メッセージ「リセットする」を受け取ったとき

    メッセージ「車を動かす」を受け取ったとき

    スプライト「スタンド」の作り込み

    タクシーを待つ場所のことをタクシースタンドと呼ぶので、スプライト名はスタンドにしたよ。スタンドが場所を表すのは、ガソリンスタンドと同じ使い方。

    コスチューム

    左側をお客さんに向けるっていうゲームの仕様があるから、スタンドの前方には二重線みたいな目印を描いておいた。こっちを頭にして停車すればOKっていう実装をする。

    車体がぜんぶ枠内に収まっているかを判定するために、この黒い四角を用意するよ。↑これよりも小さい四角にしておく必要がある。

    メッセージ「次のステージにする」を受け取ったとき

    車運転ゲームの作り方(スクラッチゲームの作り方)を語るok-scratch ok-scratch

    u003cpu003e車が左側のドアをお客さんに向けて止まったかどうか、条件ブロックに少し複雑な演算を使って実現しているよ。u003c/pu003e

    定義「_初期化する」

    再描画無しで実行するよ。

    スプライト「障害物」の作り込み

    障害物はステージごとに作るよ。とりあえずステージ1はなにも障害物はなし。ステージ2から障害物を表示しようと思うので、いろいろ描いてみて。

    メッセージ「次のステージにする」を受け取ったとき

    スプライト「お客」の作り込み

    「ヘイ!タクシー!」とタクシーを待つお客さんを作ろう。

    メッセージ「次のステージにする」を受け取ったとき

    定義「_初期化する」

    再描画無しで実行するよ。条件ブロックを使ってステージごとに場所を変えられる。

    メッセージ「クリアした」を受け取ったとき

    クリアしたら乗りますって言おう!

    スプライト「ディスプレイ」の作り込み

    クリアしたりゲームオーバーになったり、あとタイマーの表示などを司るスプライトだよ。

    緑の旗が押されたとき

    メッセージ「クリアした」を受け取ったとき

    メッセージ「次のステージにする」を受け取ったとき

    定義「タイムを測る」

    メッセージ「ゲームオーバー」を受け取ったとき

    ステージ「背景」の作り込み

    ステージでは背景画像を好きに描こう!僕は車線を引いてみた。

    まとめ

    グイグイ動く車がめっちゃいい感じだと思ってる!なんか改造してオリジナルゲームを作りたくなっちゃうよね!?

    もしなにか作れたら絶対に教えてほしい!スクラッチでコメントしてくれたら返信するから、教えてね〜。

    車運転ゲームの作り方(スクラッチゲームの作り方)を語るok-scratch ok-scratch

    u003cpu003eみんなの作品を見るの大好きです。まぁこのサイト見れば僕が作品見るの大好きってことは分かるか(^_^;) とくにみんなの「頑張って作ったから見てみて!」っていう声が好きなんだな。もし良かったら見せてね!u003c/pu003e

    クレジット

    今回の車運転ゲームは-Race car Simulator- (by Acrionさん)も参考にさせてもらいました。

    ベースにはグリフパッチさんの動画で解説していたハンドル操作のチュートリアルを改造して作られているよ。

    この記事への質問やコメントをどうぞ

    ただいま実験的に質問を受け付けています。

    コメントは受け付けていません。

    スパム防止のため、 質問をするにはログインが必要 です。ログインはスクラッチのアカウントがあれば誰でもできます。

    ブクマよろしくお願いします!という口コミを寄せてくれた方 ブクマよろしくお願いします!
    どんどん追記・更新していくので、ブックマークやシェアよろしくお願いします!