Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 게임만들기
- 파이썬
- 유니티 게임개발
- 비주얼스튜디오
- uidesign
- tinyxml2
- 게임개발 독학
- python
- visualstudio2022
- 유니티
- 이득우언리얼
- 게임개발
- 화살표 메서드
- IMGUI
- qt개발
- qt튜토리얼
- c#
- 2d게임개발
- 언리얼
- 공부
- 게임
- xml쓰기
- 화살피하기
- rendermonkey
- premake5
- qt프로그래밍
- Unity
- c++class
- 유니티 입문
- C++
Archives
- Today
- Total
신입 개발자 공부 과정
Unity 2D 게임 개발 - 점프 가능한 발판 만들기 본문
이번 포스트에서는 플레이어가 점프해서 올라갈 수 있는 발판을 구현해보겠습니다. 또한, 발판이 움직이거나, 일정 시간 후 사라지는 연출도 추가해 실감나는 플랫폼 게임을 만들 수 있습니다.
1. 기본 발판 만들기
Hierarchy > 2D Object > Sprite
선택 후 이름을 Platform으로 변경- Sprite로 평평한 발판 이미지를 설정
Box Collider 2D
추가Rigidbody2D
추가 후 Body Type을 Static으로 설정
이렇게 하면, 플레이어는 이 발판 위에 올라서 점프할 수 있습니다.
2. 움직이는 발판 (Moving Platform)
▶️ MovingPlatform.cs 스크립트
using UnityEngine;
public class MovingPlatform : MonoBehaviour
{
public Vector3 pointA;
public Vector3 pointB;
public float speed = 2f;
private bool goingToB = true;
void Update()
{
if (goingToB)
{
transform.position = Vector3.MoveTowards(transform.position, pointB, speed * Time.deltaTime);
if (transform.position == pointB) goingToB = false;
}
else
{
transform.position = Vector3.MoveTowards(transform.position, pointA, speed * Time.deltaTime);
if (transform.position == pointA) goingToB = true;
}
}
}
- pointA와 pointB는 Scene에서 직접 위치 값을 지정
- 발판이 왕복하며 움직이게 됨
Tip: 플레이어가 발판 위에 올라탔을 때 따라 움직이게 하려면, 충돌 시 플레이어를 자식 오브젝트로 만들고, 떨어지면 부모 해제하면 됩니다.
3. 사라지는 발판 (Falling Platform)
▶️ FallingPlatform.cs 스크립트
using UnityEngine;
public class FallingPlatform : MonoBehaviour
{
public float delay = 1f;
private Rigidbody2D rb;
private bool activated = false;
void Start()
{
rb = GetComponent<Rigidbody2D>();
rb.bodyType = RigidbodyType2D.Static;
}
void OnCollisionEnter2D(Collision2D collision)
{
if (!activated && collision.gameObject.CompareTag("Player"))
{
activated = true;
Invoke("Drop", delay);
}
}
void Drop()
{
rb.bodyType = RigidbodyType2D.Dynamic;
}
}
- 지정한 시간 후에 발판이 무너져서 떨어지게 됩니다.
- 아래에
Destroy(gameObject, 시간);
을 추가하면 자동 제거도 가능
4. 발판 충돌 태그 확인
위 스크립트에서 CompareTag("Player")
를 사용하므로, 플레이어 오브젝트에 반드시 "Player" 태그를 설정해주세요.
✅ 마무리
이제 점프해서 올라갈 수 있는 기본 발판뿐 아니라, 움직이는 발판과 떨어지는 발판까지 구현할 수 있게 되었습니다. 이러한 요소들은 게임의 난이도와 재미를 크게 높여줍니다.
다음 시간에는 적 캐릭터 추가 및 간단한 AI 구현에 대해 알아보겠습니다.
🔖 태그:
Unity2D, Platformer, 발판 만들기, 움직이는 플랫폼, 유니티2D, 점프 가능한 발판
📝 검색 설명:
유니티 2D 게임에서 플레이어가 점프할 수 있는 기본 발판, 움직이는 발판, 사라지는 발판을 구현하는 방법을 예제로 정리합니다.
'유니티 게임개발 따라하기' 카테고리의 다른 글
Unity 2D 게임 개발 - 플레이어 애니메이션 적용 및 방향 전환 처리 (0) | 2025.05.26 |
---|---|
Unity 2D 게임 개발 - 타일맵(Tilemap)으로 맵 만들기 + 배경 꾸미기 (0) | 2025.05.26 |
Unity 2D 게임 개발 - 캐릭터 기본 이동 구현 (Rigidbody2D + Input System) (0) | 2025.05.20 |
Unity 2D 게임 개발 - 유니티 2D에서 플레이어 조작 시스템 만들기 (0) | 2025.05.14 |
Unity 2D 게임 개발 - Unity 설치부터 첫 프로젝트 만들기까지 (입문자를 위한 가이드) (1) | 2025.05.14 |