>기술 주변기기 >IT산업 >레트로 혁명 : 연합의 퐁 클론 구축

레트로 혁명 : 연합의 퐁 클론 구축

Joseph Gordon-Levitt
Joseph Gordon-Levitt원래의
2025-02-19 09:01:10398검색
Unity Pong Cloning Tutorial : 단계별로 클래식 게임 구축

시작하기 전에 itch.io에서 게임을 볼 수 있습니다.

코어 포인트

Retro Revolution: Building a Pong Clone in Unity Unity에서 Pong 클론을 구축에는 게임 환경 설정, 플레이어 입력 추가, 볼 관리 및 테두리 충돌, 적 AI 구현, 공 생성 및 기본 텍스트 지침 추가 등 몇 가지 주요 단계가 포함됩니다.

게임 환경 설정에는 Unity에서 새로운 2D 프로젝트를 작성하고 게임 화면의 종횡비를 4 : 3으로 설정하고 스크립트, 스프라이트, 사전 및 재료 용 폴더 작성이 포함됩니다. 스프라이트를 다운로드하여 스프라이트 폴더에 추가하고 픽셀 당 장치를 조정하여 명확하고 깨끗한 모양을 보장해야합니다.

> 플레이어 입력은 "PlayerController"라는 C# 스크립트를 통해 추가되어 플레이어의 속도와 플레이어 이동 범위를 설정합니다. 충돌을 처리하려면 Box Collider 2D를 플레이어 GameObject에 추가하십시오. 볼 및 테두리 충돌은 "바운스"라는 Physics2D 재료를 만들어 관리하며, 탄력성은 1으로 설정되고 마찰은 0으로 설정됩니다. Circle Collider 2D 및 Rididbody 2D를 Ball Game Object에 추가하여 환경과의 상호 작용을 관리합니다. Enemy AI는 "EnemyController"라는 C# 스크립트를 통해 구현되며, 이는 적의 속도를 설정하고 공의 위치에 따라 움직임을 관리합니다. 이 스크립트에서도 적의 범위도 설정됩니다.

볼 생성은 "Ballspawner"게임 객체와 "BallspawnerController"라는 C# 스크립트를 작성하여 수행됩니다. 이 스크립트는 공의 존재를 확인하고 그렇지 않은 경우 새 공을 만듭니다.
  • Pong 게임 분석
  • Pong은 가장 초기의 비디오 게임 중 하나이며 최초의 성공적인 상업 게임입니다. Pong이 처음 만들어 졌을 때 개발자가 코드 로직에 어려움을 겪었을 가능성이 높지만 요즘에는 메소드 호출, Collider 및 Sprite를 사용하여 간단한 2 인 Pong 게임을 만들 수 있습니다. 싱글 플레이어 Pong 게임을 만들기로 결정하면 Pong을 만드는 데 어려움이 증가합니다. 이 튜토리얼에서는 Pong의 기본 게임 플레이를 만들고 여전히 게임의 가치를 더하는 매우 간단한 AI 대안을 세분화합니다.
  • 우리는 Pong 게임 플레이의 핵심 요소는 무엇입니까? 이 질문에 대한 답변 목록은 다음과 같습니다.
    1. 플레이어 입력 - 우리는 플레이어가 라켓을 위아래로 움직일 수 있기를 원합니다.
    2. 볼 충돌 - 공이 라켓이나 경계에 부딪히면 속도를 잃을 수 없습니다.
    3. 테두리 충돌 - 공이 화면의 상단과 하단에서 튀어 나와 게임 영역을 떠나지 않도록해야합니다.
    4. 적 AI - 적의 화면의 다른 쪽 끝에 적의가 앉아 움직이지 않으면 게임의 재생 가능성은 거의 0입니다.
    5. 볼 생성 - 공이 라켓 뒤의 경계 중 하나를 때리면 게임을 계속할 수 있도록 재생해야합니다.
    6. 볼 투 궤도 충돌 영역 감지-이렇게하면 볼이 라켓을 고유 한 각도로 튀어 나와 라켓을 때릴 때 볼을 더 잘 조준 할 수 있습니다.
    7. 이 목록을 사용하면 게임 프로그램 작성을 시작할 수 있습니다.
    8. 게임 객체의 위치, 회전, 줌 등과 관련된 숫자는 상대적이며 특정 설정에 따라 변경해야 할 수도 있습니다.
    9. 게임을 설정
    10. 이제 Pong의 기본 원칙을 분석 했으므로 게임 설정을 시작할 수 있습니다. Unity를 개방하고 새로운 2D 프로젝트를 만듭니다. 편집기가 열리면 게임 화면의 종횡비를 4 : 3으로 설정하십시오. 우리는 4 : 3을 사용합니다. 왜냐하면 이것은 가장 일반적인 화면 비율 중 하나이며 표준 비율에 가장 가까운 비율 중 하나이기 때문입니다. 리소스 패널에서 스크립트, 스프라이트, 사전 및 재료라는 4 개의 폴더를 만듭니다. 이 폴더는 모든 게임 리소스를 저장하는 데 사용됩니다.

    게임의 필요한 이미지를 다운로드하여 "스프라이트"폴더에 추가하십시오 (드래그 앤 드롭으로 수행 할 수 있음). 우리가 방금 추가 한 이미지는 게임에 사용 된 스프라이트 (대화식 게임 객체)입니다.

    우리는 스프라이트의 픽셀 당 단위를 변경하여 표준을 충족시켜야합니다. 나는 보통 픽셀 단위 당 64 픽셀을 사용합니다. 이는 대부분의 스프라이트가 명확하고 깨끗해 보이고 상대 크기를 유지하기 때문에. Unity 편집기에서 1 × 1 공간에 픽셀 밀도가 할당 된 픽셀 당 유닛을 생각할 수 있습니다.

    픽셀 당 제곱 단위를 64로, 픽셀 당 원의 단위를 128로 설정하겠습니다. 이 세 가지 이미지를 계층 패널에 계속 추가 할 수 있습니다.

    이제 우리는 각 리소스의 이름을 지정하고 초기 속성과 레이블을 설정해야합니다. Blue Block "Player"의 이름을 지정하고 플레이어의 X 위치를 6로, X- 스케일링 비율을 0.2로 설정할 수 있습니다.

    우리는 라켓 게임 객체를 다른 게임 객체와 분리하기 위해 태그를 만들어야합니다. 광범위하게 말하면, 태그를 게임 객체의 범주로 생각할 수 있습니다. 태그가 지정되지 않은 (플레이어 이름 아래)를 클릭하고 태그 추가를 선택하십시오. "패들"이라는 새 태그를 만들고 플레이어 게임 객체를 다시 선택하고 태그를 패들로 설정하십시오.

    "적"의 빨간색 블록 이름을 지정하십시오. 적의 X 위치를 -6로 설정하고 X- 스케일링 비율을 0.2로 설정하십시오. 적 게임 객체 라벨 패들을 만드십시오.

    회색 원 "Ball"의 이름을 지정하고 "Ball"이라는 새 레이블을 만듭니다. 볼 객체의 라벨을 볼에 설정하십시오.

    (다음 단계는 공간 제한으로 인해 단계 및 키 코드 스 니펫에 대한 개요 만 제공됩니다. 원본 텍스트를 참조하거나 직접 보충하십시오)

    .

    플레이어 입력 추가

    "PlayerController"라는 C# 스크립트를 만들고 다음 코드를 추가합니다 (플레이어 라켓의 움직임 제어) : 볼 충돌

    "바운스"라는 Physics2d 재료를 생성하고 탄성을 1로 설정하고 마찰을 0으로 설정하십시오. Circle Collider 2D 및 Rididbody 2D를 볼 게임 객체에 추가하고 자료를 "바운스"로 설정하십시오.

    국경 충돌 4 개의 빈 게임 객체를 경계로 만듭니다 (왼쪽, 왼쪽, 오른쪽, 탑 바운드, bottombound), Box Collider 2D를 추가하고 속성을 설정하십시오. 경계와 충돌하는 공을 감지하고 공을 파괴하는 "BoundController"라는 스크립트를 만듭니다.

    적 ai

    공을 따르도록 적의 라켓의 움직임을 제어하는 ​​"EnemyController"라는 스크립트를 만듭니다.
    <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>

    공을 생성 빈 게임 객체 "Ballspawner"를 만들고 공이 사라질 때 공을 재생하기 위해 "BallspawnerController"라는 스크립트를 만듭니다.

    기본 텍스트를 추가하십시오

    게임 설명을 표시하려면 UI 텍스트 개체를 만듭니다.

    결론 이제 Unity2d에서 기본 단일 플레이어 Pong 클론을 성공적으로 만들었습니다. 더 많은 연습을하려면 게임을 개선하는 방법에 대해 생각해보십시오. 예를 들어 공에 가속을 추가하는 것 (공이 더 많이 타격을 줄수록 공이 더 빨라짐), 라켓에 관성을 추가하고, 속도를 높여 난이도를 추가하십시오. 적 등.

    (FAQ 부분은 기사의 길이로 인해 여기서 생략됩니다. 원본 텍스트에는 자세한 FAQ 답변이 포함되어 있습니다) .

위 내용은 레트로 혁명 : 연합의 퐁 클론 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.