目次
unityPongクローニングチュートリアル:クラシックゲームをステップバイステップ
ホームページ テクノロジー周辺機器 IT業界 レトロ革命:団結してポンクローンを構築します

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

Feb 19, 2025 am 09:01 AM

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 までご連絡ください。

ホット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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

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

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

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

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

2025年に購読する上位21の開発者ニュースレター 2025年に購読する上位21の開発者ニュースレター Apr 24, 2025 am 08:28 AM

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

See all articles