유니티로 플러피 게임 클론 개발01
유니티로 플러피 게임 클론 개발01
Summary 유니티로 플러피 게임 클론을 개발하는 방법에 대한 내용으로, VS Code 자동완성 오류 해결, 이미지 레이어 순서 설정, 애니메이션 커브 설정, 물리 법칙 적용 및 오브젝트 콜라이더 설정 방법을 포함하고 있다. 또한, Rigidbody2D를 사용한 점프 및 파이프 장애물 이동 코드를 제공하며, 프리팹과 제네레이터 개념을 설명한다.
🎥 동영상 보기
VS Code 자동완성 안될때 해결방법
이미지 레이어 순서
이미지 타일화
애니메이션 커브설정
오브젝트 물리법칙적용
오브젝트선택 - inspector창에 Add Component - Pysics 2D - ``**Rigdbody2D**
오브젝트 콜라이더 설정
오브젝트선택 - inspector창에 Add Component - Pysics 2D - ``**Capsule Colider 2D**
콜라이더 모양 설정방법
Capsule Colider 2D - Direction 방향설정 - Edit Colider
** **
코드 에디터 설정
코딩부분
BirdJump.cs
|
|
Rigidbody2D는 유니티 내부에서 물리설정을 할때 만들었던 파일을 불러오는것으로, 코드내에서 불러와 사용한다
|
|
해당부분 설정하면 터치시에 플레이어볼이정상적으로 점프하는것을 확인할 수 있었다
PipeMove.cs
|
|
|
|
🔥 deltatime? 한프레임당 걸린 시간
Prefab 이란?
🔥 한마디로 Class개념…. 오브젝트를 만들어서 계속해서 찍어낼 수 있게 만드는 포토샵의 그룹혹은 템플릿의 코딩개념이라고 생각하면 될듯
Prefab을 만드는 방법은 그냥 Hieararchy에 올라가있는 오브젝트를 Drag & Drop 하여 Prefab으로 만들 수 있다
Generator 란?
🔥 Prefab을 찍어내기위한 생산공장… Hirerachy에서 Empty를 생성한 후 컴포넌트를 추가하는 식으로 활용
🔥 사용방법 제네레이터 내부에서 컴포넌트 추가하고 스크립트 내에서 public으로 GameObject자료형을 가진 변수 설정
그 후 하이하이어라키에서 생산할 프리팹을 드래그앤 드롭 혹은 직접 선택하여 변수내부에 할당 가능
그 후 다음과 같은 코드를 작성한다
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
public class MakePipe : MonoBehaviour { public GameObject pipe; // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { Instantiate(pipe); //유니티 내부에서 등록한 pipe prefab이 Instantiate를 통해 생성된다 } }
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 32 33 34 35
//timeDiff 로 유니티에서 값 조절할 수 있게 해두고 //deltaTime이용하여 파이프를 특정 시간에 한번 생성되게 코드를 짠다 //이때 newpipe를 생성하여 게임오브젝트를 생성시킨다 public class MakePipe : MonoBehaviour { public GameObject pipe; public float timeDiff; float timer = 0; // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { timer += Time.deltaTime; //deltaTime을 계속 더해주면서 1이 되었을때가 1초가흐른것이다 if (timer > timeDiff) { //y3.3 ~ y-3.3 GameObject newpipe = Instantiate(pipe); //유니티 내부에서 등록한 pipe prefab이 Instantiate를 통해 생성된다 //Instantiate한 GameObject를 newpipe로 받아준다 newpipe.transform.position = new Vector3(0,0,0); timer = 0; } } }
1 2 3 4
//벡터부분에 랜덤값을 추가하여 생성시킨다 //x부분 벡터에 정수를 조절함으로서 프리팹 생성 위치를 설정할 수 있다 newpipe.transform.position = new Vector3(0,Random.Range(-3.3f,3.3f),0);
💬 댓글
GitHub 계정으로 로그인하여 댓글을 남겨보세요. GitHub 로그인
🔧 댓글 시스템 설정이 필요합니다
GitHub Discussions 기반 댓글 시스템을 활성화하려면:
GISCUS_SETUP_GUIDE.md
파일의 안내를 따라 설정 완료Repository 관리자만 설정할 수 있습니다. 설정이 완료되면 모든 방문자가 댓글을 남길 수 있습니다.