게임 튜토리얼24 c# Unity 유니티 튜토리얼 벽돌깨기(arkanoid) 7. 게임오버 시 재시작 처리 Part_02 지난 포스트에 이어서 계속 진행해보도록 하겠습니다. 9. 상태에 따른 애니메이션이 나올 수 있도록 애니메이터를 설정합니다. 애니메이터 창이 보이지 않는다면 Window 메뉴에서 애니메이터 창을 열어줍니다. 10. 애니메이터에 스테이트를 추가하고 조건에 따라 애니메이션이 플레이 될 수 있도록 트랜지션을 연결합니다.생성한 스테이트의 이름을 변경 후 스테이트를 하나 더 추가하도록 합니다. 생성한 스테이트의 이름을 Break라고 변경합니다. 11. 애니메이터 창의 Parameters에 bool 타입의 Break라는 이름으로 조건을 추가합시다. 12. Normal 상태에서 Break 상태로 변경될 수 있도록 트랜지션을 연결해 주도록 합시다. 13. 연결된 트랜지션을 선택하여 아래와 같이 설정합니다. 특히 C.. 2024. 5. 7. c# Unity 유니티 튜토리얼 벽돌깨기(arkanoid) 7. 게임오버 시 재시작 처리 Part_01 https://drive.google.com/file/d/1Yyp1UJIvSO5tsx1XdMIi8nqgkN3Ig1zN/view?usp=sharing BreakPaddle.png drive.google.com 이제 마지막으로 공이 화면 밖으로 사라졌을 때 게임이 재시작되는 부분을 처리해보도록 하겠습니다. 1. 화면 아래쪽에 공이 나갔다는 걸 알 수 있도록 게임오브젝트를 하나 생성하고 충돌 박스를 추가하도록 합시다. 2. 아래와 같이 Box Collider 2D를 설정합니다. 3.Out 이라는 태그를 하나 추가합니다. South 오브젝트의 태그를 추가한 Out으로 변경합니다. 4. BallController 스크립트 내에서 충돌에 따른 처리를 하도록 합니다. 우선 공이 밖으로 나갔을 때 패들의 중앙 위.. 2024. 5. 7. c# Unity 유니티 튜토리얼 벽돌깨기(arkanoid) 6. 벽돌과 공 충돌 처리 1. BallController 컴포넌트 스크립트에 아래의 변수들을 추가합니다.2. 공과 충돌 시 블럭이 삭제될 함수를 작성합니다. 3. 공과 블럭 충돌 시의 위치를 토대로 공의 방향을 변경해 줄 코드를 추가해줍니다. 코드의 양이 많으니 잘 확인하시길 바랍니다. 4. 짧은 시간 중복 충돌을 막아줄 코루틴 함수를 작성합니다. 5. 실행하여 블럭 충돌에 따른 공의 움직임을 확인합니다. https://play.google.com/store/apps/details?id=com.goldenegg 골든 에그 - Google Play 앱수박 게임류의 머지 게임입니다.play.google.com 2024. 4. 23. c# Unity 유니티 튜토리얼 벽돌깨기(arkanoid) 5. 벽돌 충돌 시 벽돌 삭제 1. 벽돌과 공의 충돌 처리를 위해 벽돌 프리팹 오브젝트에 BlockComponent를 생성하여 추가합니다. 2. 충돌을 위한 BoxCollider 2D 컴포넌트를 추가합니다. 3. 아래와 같이 스크립트를 작성합니다. https://play.google.com/store/apps/details?id=com.goldenegg 골든 에그 - Google Play 앱수박 게임류의 머지 게임입니다.play.google.com 4. 공과 충돌 시 BlockComponent의 TakeDamage함수를 BallController 스크립트 내에서 호출하여 삭제가 잘 되는지 확인합니다. 5. 벽돌이 잘 삭제되는지 확인합니다. 다음 튜토리얼에서 벽돌의 충돌에 따른 공의 설정을 해보도록 하겠습니다~ 2024. 4. 10. 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. 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. 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. 이전 1 2 다음 반응형