こんにちは、みんな。
「ジャンプ、ジャンプ」を皮切りに、ここ数年、WeChat ミニゲームは電光石火のスピードとジングルベルでユーザーの携帯電話を席巻してきました。クリエイティブなミニゲームからウェブ ゲームの伝統であるオンフック ゲームまで、百の花が一度に咲きました。
もちろん、前者はクリエイティブであると言われていますが、そのほとんどは、古典的な 3D ピンボールなど、他のプラットフォームのゲーム モードを H5 に直接転送するだけです。
物理エンジンの代表作である3Dピンボール作品の実現は、初心者にとってはかなりの訓練となります。これがこのエッセイを書く主な目的でもあります。
このゲームの制作は大きく2つのステップに分かれており、1つはシーンの構築、もう1つはスクリプトの作成です。さあ、この小さなゲームを一歩ずつ一緒に完成させましょう。
シーンの構築: ゲームは 2D ゲームであるため、2D スプライト (Sprite) を使用してシーンを構築します
1. 壁を作る
まず、ボールの動きの範囲を制限する壁として 2D コライダーの円を構築します。
すべての壁を追加し、2D コライダーの弾性物理マテリアルにドラッグする必要があります。上部の壁と下部の壁は追加しないでください。
2. 道路を舗装する
ボールの外側の移動範囲内にトリガーを構築し、トリガーでパスファインディング効果を取得します。
管理用に空のオブジェクトを作成できる
3つの銃口
銃口 (Muzzle) はボールが発射される場所を特定するために使用され、銃口には発射されたボールが銃口に跳ね返るのを防ぐためのサブオブジェクト バルブ (Valve) があります。
銃口には照準線を描画するための LineRenderer コンポーネントを追加する必要があり、バルブには 2D コライダーを追加する必要があります。
4. スコア表示
空のオブジェクト Score を作成します。そのサブオブジェクト CurrentScore は、スコアを表示するために使用される Text です。
5. スモールボールの管理
空のオブジェクト Balls を作成してすべてのボールを管理し、2D スプライトを使用してボールを作成します
6. レベル設定
シーン内には合計 9*6 の小さなグリッドが構築されています。各小さなグリッドは、敵をランダムに生成し、階層管理を実装するために使用されます。各レイヤーに 6 個、合計 9 個のレイヤーがあります。
注: 小さな緑色のボックスは、チュートリアルをより直感的にするために追加されているだけです。実際の開発中は削除してください。小さなグリッドの機能は位置決めであり、変換する必要があるため、小さなグリッドは Transform 以外のコンポーネントを追加しません。ゲームの実行中にこの位置にランダムに配置され、敵が生成されます。
7. メニューバー
ゲームが終了すると自動的にポップアップします。また、ゲーム中に「Esc」キーを押して呼び出すこともできます。
8、カメラの位置決め
シーン全体が固定状態にあるため、キャンバスをワールド モードに設定します。
カメラを正投影モードに変更します
シーン全体の前で修正されます。
9. プレハブ製作
いくつかの敵 (Enemy) プレハブを作成し、2D コライダーと物理弾性マテリアルを追加します。
スタントプレハブを作成する
より大きな小道具 BigStunt: ボールに触れるとボールが大きくなります
小道具のコピー CopyStunt: ヒット後に小さなボールを追加します
Ball (Ball) プレハブを作成します。これは、コピー効果が発生したときに作成されます。
スクリプト作成: スクリプトはそれほど多くはありませんが、ステート マシンは 2 つあり、11 あります。
次回は、これを実現する方法について詳しく説明します。