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

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"라는 스크립트를 만듭니다.
    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);
        // ... (边界限制代码)
    }

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

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

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

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

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

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

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

이 최고의 개발자 뉴스 레터와 함께 최신 기술 트렌드에 대해 정보를 얻으십시오! 이 선별 된 목록은 AI 애호가부터 노련한 백엔드 및 프론트 엔드 개발자에 이르기까지 모든 사람에게 무언가를 제공합니다. 즐겨 찾기를 선택하고 Rel을 검색하는 데 시간을 절약하십시오

AWS ECS 및 LAMBDA가있는 서버리스 이미지 처리 파이프 라인AWS ECS 및 LAMBDA가있는 서버리스 이미지 처리 파이프 라인Apr 18, 2025 am 08:28 AM

이 튜토리얼은 AWS 서비스를 사용하여 서버리스 이미지 처리 파이프 라인을 구축함으로써 안내합니다. ECS Fargate 클러스터에 배포 된 Next.js Frontend를 만들어 API 게이트웨이, Lambda 기능, S3 버킷 및 DynamoDB와 상호 작용합니다. th

CNCF ARM64 파일럿 : 충격 및 통찰력CNCF ARM64 파일럿 : 충격 및 통찰력Apr 15, 2025 am 08:27 AM

CNCF (Cloud Native Computing Foundation), Ampere Computing, 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 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경