Unity 게임개발
1. 슈퍼 헥사곤 만들어보기 시작
딴짓거리
2023. 3. 26. 22:27
게임개발을 진지하게 공부하기 시작하며
유니티를 공부하기로 했다
역시 사용법 익히기에는 간단한 토이프로젝트로 돌격하는것 만큼 좋은게 없다
그런고로 어릴때 재밌게 플레이했던 슈퍼 헥사곤이라는 게임을 직접 구현해보기로 했다.
먼저 기본 화면이다. 내 기억으로는 슈퍼 헥사곤이라는 게임의 기본 조작은
중앙의 다각형을 중심으로 뱅글뱅글 도는 삼각형을 움직이며
다가오는 패턴을 피하는 게임이었다.
이제 플레이어인 저 삼각형의 움직임을 구현해주자
public class Player : MonoBehaviour
{
Rigidbody2D rigid;
float deg;
public float radius;
public float Objspeed;
void Awake()
{
rigid= GetComponent<Rigidbody2D>();
deg = 0;
}
void Update()
{
deg += Time.deltaTime * Objspeed * Input.GetAxisRaw("Horizontal");
if (deg < 0) deg = 360;
else if (deg > 360) deg = 0;
else
{
var rad = Mathf.Deg2Rad * (deg);
var x = radius * Mathf.Sin(rad);
var y = radius * Mathf.Cos(rad);
rigid.transform.position = new Vector3(x, y);
Debug.Log(x+ " " + y);
rigid.transform.rotation = Quaternion.Euler(0, 0, deg * -1);
}
}
}
Player 삼각형 오브젝트에 넣어준 Player 스크립트이다
비교적 간단하게 구현되어있다.
삼각형이 원을 그리며 움직인다고 생각하고
변수로 각도와 중심으로부터의 거리를 선언한다
좌우 키보드 입력을 받아 각도값을 조절함으로써 삼각형이 움직이게 된다.
솔직히 이제부터 내려오는 블럭의 패턴을 구현해야한다고 생각하면 막막하기 그지없다
차근차근 해결해나가는 꽤 긴 프로젝트가 될 것 같다.