ホームページ >テクノロジー周辺機器 >IT業界 >レトロ革命:団結してポンクローンを構築します

レトロ革命:団結してポンクローンを構築します

Joseph Gordon-Levitt
Joseph Gordon-Levittオリジナル
2025-02-19 09:01:10402ブラウズ

unityPongクローニングチュートリアル:クラシックゲームをステップバイステップ

開始する前に、itch.io

でゲームを表示できます。

Retro Revolution: Building a Pong Clone in Unity

コアポイント

  • unityにポンクローンの構築には、ゲーム環境のセットアップ、プレーヤーの入力の追加、ボールの管理、ボールの衝突の管理、敵AIの実装、ボールの生成、基本的なテキスト指示の追加など、いくつかの重要なステップが含まれます。
  • ゲーム環境設定には、Unityの新しい2Dプロジェクトの作成、ゲーム画面のアスペクト比の設定4:3に設定し、スクリプト、スプライト、プレハブ、および素材のフォルダーの作成が含まれます。スプライトをダウンロードして、スプライトフォルダーに追加し、ピクセルごとにユニットを調整して、透明で清潔な外観を確保する必要があります。
  • プレーヤー入力は、「PlayerController」と呼ばれるC#スクリプトを介して追加され、プレーヤーの速度とプレーヤーの動きの範囲を設定します。 Box Collider 2DをプレーヤーGameObjectに追加して、衝突を処理します。
  • ボールとボーダーの衝突は、「バウンス」と呼ばれる物理2D材料を作成することにより管理され、弾力性は1に設定され、摩擦が0に設定されています。環境との相互作用を管理するために、Circle Collider 2DとRigidBody 2Dをボールゲームオブジェクトに追加します。
  • 敵AIは、「Enemycontroller」と呼ばれるC#スクリプトを通じて実装されます。これは、敵の速度を設定し、ボールの位置に応じて動きを管理します。敵のスコープもこのスクリプトに設定されています。
  • ボールの生成は、「BallSpawner」ゲームオブジェクトと「BallSpawnerController」と呼ばれるC#スクリプトを作成することで行われます。このスクリプトは、ボールの存在をチェックし、そうでない場合は新しいボールを作成します。

ポンゲーム分析

ポンは、最も初期のビデオゲームの1つであり、最初の成功したコマーシャルゲームです。 Pongが最初に作成されたとき、開発者はコードロジックに苦労していた可能性が非常に高いですが、最近では、メソッドコール、コリダー、Spriteを使用してシンプルな2プレイヤーPongゲームを作成できます。単一のプレイヤーポンゲームを作成することにしたら、ポンを作るのが難しくなります。このチュートリアルでは、Pongの基本的なゲームプレイを作成し、ゲームの価値を引き続き追加する非常にシンプルなAIの代替品を分解します。

私たちは尋ねなければなりません、ポンゲームプレイのコア要素は何ですか?この質問に対する答えのリストは次のとおりです。

  1. プレーヤーの入力 - プレイヤーがラケットを上下に動かしてヒットすることを望んでいます。
  2. ボールの衝突 - ボールがラケットや境界に当たると、速度を失うことは許されません。
  3. ボーダー衝突 - ボールは、ゲームエリアを離れないように、画面の上部と下部から跳ね返ることができなければなりません。
  4. 敵AI - 敵が画面の反対側に座って移動しない場合、ゲームのプレイ可能性はほぼゼロです。
  5. ボールの生成 - ボールがラケットの後ろの境界の1つに当たると、ゲームを続けることができるように再生する必要があります。
  6. ボールからラケット間の衝突エリアの検出 - これにより、ボールはユニークな角度でラケットから跳ね返ることができ、ラケットを打つときにボールをよりよく狙うことができます。
このリストを使用すると、ゲームプログラムの作成を開始できます。

ゲームオブジェクトの位置、回転、ズームなどに関連する任意の数は相対的であり、特定の設定に従って変更する必要がある場合があることに注意してください。

ゲームを設定します

ポンの基本原則を分析したので、ゲームのセットアップを開始できます。ユニティを開き、新しい2Dプロジェクトを作成します。エディターが開かれたら、ゲーム画面のアスペクト比を4:3に設定します。これは最も一般的なスクリーン比の1つであり、標準比に最も近いものの1つであるため、4:3を使用します。リソースパネルで、スクリプト、スプライト、プレハブ、および材料と呼ばれる4つのフォルダーを作成します。これらのフォルダーは、すべてのゲームリソースを保存するために使用されます。

Retro Revolution: Building a Pong Clone in Unity

ゲームの必要な画像をダウンロードして、「スプライト」フォルダーに追加します(ドラッグアンドドロップで実行できます)。追加した画像は、ゲームで使用されるSprite(インタラクティブゲームオブジェクト)です。

Retro Revolution: Building a Pong Clone in Unity Retro Revolution: Building a Pong Clone in Unity Retro Revolution: Building a Pong Clone in Unity

スプライトのピクセルあたりユニットを変更して、標準を満たすようにする必要があります。私は通常、ピクセルユニットあたり64ピクセルを使用します。これにより、ほとんどのスプライトが透明で清潔に見え、相対的なサイズを維持するためです。ピクセルあたりのユニットは、Unityエディターの1×1スペースに割り当てられたピクセル密度と考えることができます。

ピクセルあたりの正方形の単位を64に、ピクセルあたりの円の単位を128に設定しましょう。これら3つの画像を階層パネルに追加し続けることができます。

Retro Revolution: Building a Pong Clone in Unity

次に、各リソースに名前を付けて、初期プロパティとラベルを設定する必要があります。青いブロック「プレーヤー」に名前を付けて、プレーヤーのX位置を6に、Xスケーリング比を0.2に設定できます。

タグを作成して、ラケットゲームオブジェクトを他のゲームオブジェクトから分離する必要があります。大まかに言えば、タグをゲームオブジェクトのカテゴリと考えることができます。 [プレーヤー名の下)をクリックし、[タグの追加]を選択します。 「パドル」と呼ばれる新しいタグを作成し、プレーヤーゲームオブジェクトを再選択し、タグをパドルに設定します。

赤いブロック「敵」に名前を付けます。敵のX位置を-6に、Xスケーリング比を0.2に設定します。敵のゲームオブジェクトラベルパドルを作成します。

灰色の円「ボール」に名前を付け、「ボール」と呼ばれる新しいラベルを作成します。ボールオブジェクトのラベルをボールに設定してください。

(次の手順には、スペースの制限が原因で手順とキーコードスニペットの概要のみが提供されます。元のテキストを参照するか、詳細に補完してください)

プレーヤーの入力を追加

「playercontroller」というC#スクリプトを作成し、次のコードを追加します(プレーヤーのラケットの動きを制御します):

<code class="language-csharp">public float speed = 10;
public float topBound = 4.5F;
public float bottomBound = -4.5F;

void FixedUpdate () {
    float movementSpeedY = speed * Input.GetAxis("Vertical") * Time.deltaTime;
    transform.Translate(0, movementSpeedY, 0);
    // ... (边界限制代码)
}</code>

ボール衝突

「Bounce」と呼ばれるPhysics2D材料を作成し、その弾力性を1に、摩擦を0に設定します。 Circle Collider 2DとRigidBody 2Dをボールゲームオブジェクトに追加し、素材を「バウンス」に設定します。

ボーダー衝突

4つの空のゲームオブジェクトを境界(左に、右バウンド、トップバウンド、ボトンバウンド)として作成し、ボックスコリダー2Dを追加してプロパティを設定します。境界と衝突してボールを破壊するボールを検出する「BoundController」というスクリプトを作成します。

敵ai

敵のラケットの動きを制御して、ボールを追跡するように「Enemycontroller」というスクリプトを作成します。

<code class="language-csharp">public float speed = 1.75F;
Transform ball;
Rigidbody2D ballRig2D;

void FixedUpdate () {
    ball = GameObject.FindGameObjectWithTag("Ball").transform;
    ballRig2D = ball.GetComponent<rigidbody2d>();
    // ... (根据球的位置移动敌人的代码)
}</rigidbody2d></code>

ボールを生成します

空のゲームオブジェクト「BallSpawner」を作成し、「BallspawnerController」というスクリプトを作成して、ボールが消えたときに再生します。

基本的なテキストを追加

ゲームの説明を表示するUIテキストオブジェクトを作成します。

結論

Unity2Dで基本的なシングルプレイヤーポンクローンを正常に作成しました。その他の練習については、ゲームを改善する方法を考えてみてください。たとえば、ボールに加速を追加します(ボールのヒットが多いほど、ボールが速くなります)。敵など。

(記事の長さのために、FAQパーツはここで省略されています。元のテキストには詳細なFAQ回答が含まれています)

以上がレトロ革命:団結してポンクローンを構築しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。