Unity64 c# Unity 유니티 튜토리얼 테트리스 만들기 08. 블럭 삭제 Part02 지난 포스트에서 블럭 프리팹에 이미지들을 포함했습니다. 그럼 이제 블럭의 삭제와 더불어 이미지를 표현해보도록 합시다. 1. 각 블럭별로 이미지들을 조건에 따라 활성화 또는 비활성화하기 위해 부모 클래스를 만들어 각 블럭별로 상속받아 처리할 것 입니다. 우선 부모 클래스 BlockImageComponent 를 만들어줍니다. 상속받아 쓸 스크립트이기에 스크립트 폴더에 바로 생성해줍시다. 2. 아래의 코드를 작성합니다. 3. 각 블럭 별로 상속받아 쓸 파생 클래스를 생성합니다. 0~6까지 스크립트를 각 Blocks 오브젝트에 생성하여 추가합니다. https://play.google.com/store/apps/details?id=com.goldenegg 골든 에그 - Google Play 앱수박 게임류의 .. 2024. 4. 2. Unity 유니티 프리팹이란?? Prefab?? Unity에서 프리팹(Prefab)은 미리 구성된 게임 오브젝트의 템플릿입니다. 이를 사용하면 복잡한 구성 요소와 설정을 갖춘 게임 오브젝트를 쉽게 재사용할 수 있으며, 한 번의 설정으로 여러 인스턴스에서 공통적인 변경 사항을 적용할 수 있습니다. 프리팹은 게임 개발 과정을 효율화하고, 대규모 프로젝트에서 일관성을 유지하는 데 큰 도움이 됩니다. 만약 아래의 이미지와 같은 몬스터가 있고 게임 내에서 아래 몬스터를 여러개 복사하여 사용하고 있을 경우 해당 몬스터 모두에게 어떠한 변화가 생겨야 한다면 예를들어 아래 이미지처럼 외형이 변경이 되어야 한다면 일일히 모든 복사한 몬스터를 선택하여 외형을 변경해 주어야 합니다. 하지만 프리팹으로 만들어둔 파일을 활용할 경우. 원본 파일 즉 프리팹 파일이 변경이 된.. 2024. 4. 1. c# Unity 유니티 튜토리얼 테트리스 만들기 07. 블럭 삭제 Part01 블럭이 한 줄 완성 시의 블럭 삭제 부분을 구현해보도록 합시다. 우선 블럭이 삭제되었을 때의 각 이미지가 필요합니다. 위 파일을 압축풀어서 Resources 폴더에 넣어줍니다. 1. 우선 블럭이 어딘가에 고정이 되었다면 고정된 블럭들을 담아둘 리스트를 하나 작성합니다. BoardComponent에 아래와 같이 작성을 합니다. 2. BoardComponent 리스트에 블럭을 추가하는 함수를 작성합니다. 외부에서 호출할 수 있도록 public으로 작성합니다. 3. 블럭이 고정 시 블럭 배열을 체크하여 가로로 완성된 줄이 있는지 검색하는 함수를 작성합니다. https://play.google.com/store/apps/details?id=com.goldenegg 골든 에그 - Google Play .. 2024. 4. 1. c# Unity 유니티 튜토리얼 벽돌깨기(arkanoid) 4. 벽돌 설정 1. 새로운 오브젝트를 생성합니다. 벽돌 이미지를 그려줄 Sprite Renderer를 추가합니다. 2. 프로젝트에 벽돌 이미지를 추가하고 하나의 이미지를 잘라 쓸 수 있도록 설정합니다. SpriteMode를 Multiple로 변경하고 SpriteEditor를 눌러 줍니다. Slice 메뉴에서 Automatic을 설정하고 Slice 버튼을 누른 후 Apply 버튼을 눌러줍니다.PixelPerUnit 30으로 변경하고, FilterMode를 Point로 변경합니다. 3. 생성한 오브젝트에 벽돌 이미지를 추가하고 오브젝트를 Assets 창으로 드래그 하여 Prefab 파일로 만들어 줍니다. 4. 새로운 오브젝트를 생성하고 이름을 아래와 같이 변경 후 BlockSpawnComponent 스크립트를.. 2023. 10. 24. c# Unity 유니티 튜토리얼 벽돌깨기(arkanoid) 3. 벽 설정과 공 이동 1. 패들과 공이 충돌할 벽 오브젝트를 생성합니다. 빈 오브젝트를 생성 후 Walls라는 이름으로 변경합니다. Walls오브젝트의 자식 오브젝트로 세 개의 오브젝트를 생성합니다. 2. 생성한 세개의 오브젝트에 충돌이 일어나도록 BoxCollider2D 컴포넌트를 추가하고 아래와 같이 셋팅합니다. Wall Tag 역시 추가하고 Tag를 변경합니다. 3. 패들 오브젝트에 capsule Coliider2D 컴포넌트를 추가합니다. Sprite Renderer의 Order Layer의 값을 10으로 변경하고 Shadow 오브젝트의 Order Layer는 9로 설정합니다. Paddle Tag를 추가하여 태그를 변경합니다. https://play.google.com/store/apps/details?id=co.. 2023. 10. 23. c# Unity 유니티 튜토리얼 벽돌깨기(arkanoid) 2. 패들 이동 1. 새로운 오브젝트를 생성 후 SpriteRenderer를 추가합니다.2. 패들 이미지 파일을 선택 후 SpriteMode를 Mutiple로 변경. PixelsPerUnit을 32로 설정 후 SpriteEditor 버튼을 누릅니다.3.Slice 타입을 Grid by Cell Count로 변경하고 Row를 6으로 설정 후 Slice버튼을 누릅니다.4. 자른 이미지 파일을 선택 후 0번 이미지를 SpriteRenderer에 연결합니다. https://play.google.com/store/apps/details?id=com.goldenegg 골든 에그 - Google Play 앱수박 게임류의 머지 게임입니다.play.google.com 5. 패들 이미지가 배경 이미지보다 앞쪽에서 그릴수 있도록 Spr.. 2023. 10. 19. c# Unity 유니티 튜토리얼 벽돌깨기(arkanoid) 1 배경 설정 1. 프로젝트의 이름과 위치를 설정 후 프로젝트를 생성합니다.2. 게임의 디스플레이 해상도를 설정합니다. 850x10803. 새로운 오브젝트를 생성 후 이름을 BackGround로 변경합니다. 4. 생성한 오브젝트에 2D 이미지를 그려줄 SpriteRenderer 컴포넌트를 추가하고 게임에 쓸 이미지를 Asset 폴더에 추가합니다. 이미지는 아래에~5. BackGround 오브젝트의 SpriteRenderer 컴포넌트에 배경 이미지를 추가합니다. 배경 이미지의 스케일과 위치를 설정합니다.6. Main Camera 오브젝트를 선택 후 Background 컬러를 검정색으로 변경합니다.https://drive.google.com/file/d/1UvEEO7ItRpVkkKhjpeOPWKT0GLCVtQEA/v.. 2023. 10. 17. Unity 유니티 비쥬얼 스튜디오 편집기 업데이트 비쥬얼 스튜디오나 코드를 사용하려고 하면 위와 같은 경고 메시지가 뜨는 경우가 있습니다. 이는 경고창의 메시지 처럼 편집기 버전이 오래되어 지원되지 않는 것들이 있을 수 있기에 업데이트를 해주시면 됩니다. 먼저 유니티 에디에서 Window -> Package Manager을 열어줍니다. 패키지 매니저 창에서 Visual Studio Editor를 선택 후 오른쪽 설명 창에 업데이트 버튼을 눌러 업데이트 하시면 됩니다. 2023. 10. 13. c# Unity 유니티 튜토리얼 테트리스 만들기 06. 생성될 다음 블럭 설정 1. 게임 오브젝트를 하나 생성 후 다음 이미지를 보여줄 SpriteRenderer 컴포넌트를 추가하고 위치를 아래 이미지와 같이 잡아줍니다.2. 보여줄 이미지와 추가한 SpriteRenderer 컴포넌트를 담아둘 배열과 변수를 BlockSpawnComponent에 추가해주고, 다음 생성될 블럭의 인덱스 역시 변수로 추가합니다. 3. NextBlock 메소드를 작성합니다.4. SpawnBlock 코드를 아래와 같이 수정합니다. https://play.google.com/store/apps/details?id=com.goldenegg 골든 에그 - Google Play 앱수박 게임류의 머지 게임입니다.play.google.com 5. Start 메소드 역시 수정해줍니다. 6. 유니티 에디터에 노출된 .. 2023. 9. 25. c# Unity 유니티 튜토리얼 테트리스 만들기 05. 블럭 회전 제한 및 블럭 스폰 블럭이 회전시 왼쪽 위를 기준으로 회전하므로 블럭이 왼쪽 끝에 위치해 있을 경우는 상관이 없지만 오른쪽 끝일 경우 회전시 블럭이 보드 영역 밖으로 나가게 되는 상황이 발생합니다. 더불어 회전시 해당 위치에 다른 블럭이 있다면 회전이 되면 안되기에 회전 시 보드를 체크하여 회전이 가능한지 판단하여 가능하다면 회전을 하도록 합니다. 1. TetrominoMoveComponent 스크립트에 아래 코드를 작성합니다. 더불어 각 블럭의 rcp를 에디터에서 입력합니다. 만약 아래 이미지 처럼 블럭이 회전되기전에 블럭이 회전시 놓이게 될 위치를 rcp 배열들에 입력해둡니다. 분홍색 블럭의 각도에 따른 rcp 위치들. 다른 블럭들도 입력해줍니다. 차례대로 0도 90도 180도 270도 2. BoardComponen.. 2023. 9. 22. c# Unity 유니티 튜토리얼 테트리스 만들기 04. 블럭 보드 생성 및 블럭 테트로미노 블럭의 현재 위치에 따른 보드 상에서의 위치를 추가해보도록 합시다.20x10의 보드 판위를 블럭이 이동하며 배치가 됩니다.블럭이 이동 시 보드를 체크하여 다른 블럭이 이미 있다면 해당 위치에 블럭이 고정되고 보드에 해당 위치에 블럭이 있는 상태로 변경해줍니다.1. TetrominoMoveComponent 스크립트를 열어 블럭이 보드 상 어디에 위치하는지 알 수 있도록 Vecto2 변수를 추가합니다.2. 좌우 이동 시 pos.x 아래로 이동 시 pos.y의 값을 변경합니다. 3. 유니티 에디터에서 임시로 블럭의 초기 위치와 보드상에서의 위치를 입력합니다.4. ㅜ 의 경우 네 개의 블럭이 하나로 이루어져있습니다. 현재의 블럭은 한개의 포지션만을 가지고 있는데 블럭 갯수만큼 실제 오브젝트를 구성해.. 2023. 9. 21. c# Unity 유니티 튜토리얼 테트리스 만들기 03. 테트로미노 블럭 회전 블럭의 회전을 구현해봅시다. 1. TetrominoMoveComponent 스크립트를 열고 블럭의 회전 각도를 판별할 열거문을 추가합니다. 각도에 따라 이미지의 보정치를 입력해 주어야 합니다.2. 추가한 열거문을 클래스 내부에 변수로 추가하고 각도 따른 보정치를 넣어줄 Vector2 배열을 추가합니다. 3. 생성한 블럭 오브젝트를 프리팹 파일로 만들고 해당 프리팹 파일을 복제하여 나머지 블럭들도 생성합니다. 4. 생성한 블럭을 더블 클릭하여 프리팹 파일을 열어준 후 이미지를 바꿔준 후 앞서 이미지에 따른 중심축과 공백을 작업하지 않았다면 함께 해줍니다. https://play.google.com/store/apps/details?id=com.goldenegg 골든 에그 - Google Play 앱수박 .. 2023. 9. 18. 이전 1 2 3 4 5 6 다음 반응형