아래 그림처럼 벽돌을 깨는 고전 게임을 만들어 보겠습니다
옛날에 알카노이드 란 이름으로 나왔던 게임을 조금 흉내 내어 보겠습니다
게임 화면을 576 : 1024 로 맞춥니다
하이라키뷰에 있는 메인 카메라를 선택하고 Projection -> orthographic 으로 설정합니다
Assets에 materials폴더를 만들고 Create -> Physic Material을 선택하여 생성합니다
Physic Material 의 속성을 아래 그림과 같이 바꿉니다
하면에 4개의 큐브를 만들 과 화면 태 투리에 큐브가 보일 정도로 위치를 합니다
게임 화면에서 보일 때 밑에 있는 큐브는 약간 안 보이게 합니다
네 개의 큐브를 선택하고 Box Collider -> Material에 있는 부분을 new Physic Material을 드래그하여 올려놓습니다
그리고 하이 라키 뷰에 빈 오브젝트를 만들고 이름을 block이라고 하고 자식으로 3D Object ->Cube를 32 개를 생성하여 아래 그림과 같이 4개의 큐브 안에 들어오게 하여 정렬을 시킵니다
32개의 큐브를 선택하고 Box Collider -> Material에 있는 부분을 new Physic Material을 드래그하여 올려놓습니다
block 오브젝트를 선택하여 Prefabs 폴더를 만들어 거기에 드래그하여 프리 팹을 만듭니다
하이 라키 뷰에 3D Object ->Cube를 생성하고 이름을 Paddle로 하고 Transform을 아래 그림과 같이 하고 Box Collider -> Material에 있는 부분을 new Physic Material을 드래그하여 올려놓습니다
하이 라키 뷰에3D Object ->Sphere를 생성하고 Transform을 아래 그림과 같이 하고 Box Collider -> Material에 있는 부분을 new Physic Material을 드래그하여 올려놓습니다
Sphere를 Paddle의 자식으로 놓습니다
Paddle을 움직일 PaddleCtrl 스크립트를 생성하여 스크립트를 작성합니다
PaddleCtrl 스크립트 작성
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PaddleCtrl : MonoBehaviour
{
public float PaddleSpeed = 1f;//Paddle의 이동 스피드
private Vector3 playerPos = new Vector3(0f, -3.5f, 0f);//Paddle의 초기 위치
private void Update()
{
//Paddle 좌우 이동
float xPos = transform.position.x + (Input.GetAxis("Horizontal") * PaddleSpeed);
// Paddle 에이동 제한을 준다
playerPos = new Vector3(Mathf.Clamp(xPos, -2f, 2f), -3.5f, 0f);
transform.position = playerPos;
}
}
Materials 폴더를 선택하고 Create -> Material 두 개 만듭니다
green 메터리얼은 Paddle에 붙이고 red는 Sphere에 붙힘니다
작성한 PaddleCtrl을 Paddle 오브젝트에 붙히고 Paddle 오브젝트를 프리 팹으로 만듭니다
게임을 실행하면 Paddle 좌우 키를 움직일 때 방향대로 Paddle 이 움직이는 것을 볼 수 있습니다
'게임 만들기 강좌 > 유니티 벽돌깨기 게임만들기' 카테고리의 다른 글
유니티 벽돌 깨기 게임만들기 3_최종 _ "Game manager 만들기" "이팩트 만들기" "Game Over" 등등 (2) | 2020.02.04 |
---|---|
유니티 벽돌 깨기 게임만들기 2_ 구슬 쏘기 (0) | 2020.02.03 |