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

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#スクリプトを作成し、次のコードを追加します(プレーヤーのラケットの動きを制御します):

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);
    // ... (边界限制代码)
}

ボール衝突

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

ボーダー衝突

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

敵ai

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

public float speed = 1.75F;
Transform ball;
Rigidbody2D ballRig2D;

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

ボールを生成します

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

基本的なテキストを追加

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

結論

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

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

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

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
2025年に購読する上位21の開発者ニュースレター2025年に購読する上位21の開発者ニュースレターApr 24, 2025 am 08:28 AM

これらのトップ開発者ニュースレターを使用して、最新のハイテクトレンドについてお知らせください! このキュレーションされたリストは、AI愛好家からベテランのバックエンドやフロントエンド開発者まで、すべての人に何かを提供します。 お気に入りを選択し、Relを検索する時間を節約してください

AWS ECSとLambdaを備えたサーバーレス画像処理パイプラインAWS ECSとLambdaを備えたサーバーレス画像処理パイプラインApr 18, 2025 am 08:28 AM

このチュートリアルは、AWSサービスを使用してサーバーレスイメージ処理パイプラインを構築することをガイドします。 APIゲートウェイ、Lambda関数、S3バケット、およびDynamoDBと対話するECS Fargateクラスターに展開されたnext.jsフロントエンドを作成します。 th

CNCF ARM64パイロット:インパクトと洞察CNCF ARM64パイロット:インパクトと洞察Apr 15, 2025 am 08:27 AM

このパイロットプログラム、CNCF(クラウドネイティブコンピューティングファンデーション)、アンペアコンピューティング、Equinix Metal、およびActuatedのコラボレーションであるCNCF GithubプロジェクトのARM64 CI/CDが合理化されます。 このイニシアチブは、セキュリティの懸念とパフォーマンスリムに対処します

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。