새소식

C#,Unity Programming

게임개발 학습. 카드 뒤집기 게임(for 문으로 카드 자동생성)

  • -
728x90

 

//게임개발 종합반 - 4주차(스파르타코딩클럽)

보드 게임 특징

  • 로직이 중요함,심판 역할

만들 순서

순서만 명확히 해도 머릿속에, 그리고 코드 상에 구체화가 쉬워진다.

  1. 기본 씬 구성하기 : 배경, 타이머, 리소스 받아두기
  2. 시간 보내기
  3. 카드 깔기
  4. 카드 뒤집기 애니메이션 만들기
  5. 같은 카드을 뒤집었을 때 없애기

카드 만들기

  • cards(Create Empty) 에 card(Create Empty) 들이 들어가는 형태로 구현
  • card 의 앞 뒤는 sprite로 구현(sprite Renderer 컴포넌트를 기본 탑재) - sprite에 이미지 할당

이미지 크기 조절

  • Pixels Per Unit 을 조절
    • 숫자를 크게 하면 사이즈가 작아진다

뒷면에 Text 넣기

  • Canvas 를 World Space로 변경
  • 위치에 맞게 Alignment, Scale 등 조정

gameManager 생성

  • 시간 가게 하기
public class gameManager : MonoBehaviour
{
    public Text timeTxt;
    float time;

	void Update()
    {
        time += Time.deltaTime;
        timeTxt.text = time.ToString("N2");
    }
}

자동으로 카드 생성 하기

  • 카드 사이즈가 1.3 간격은 0.1 로.
    • 위 아래로 1.4 씩 떨어지도록 구현

for 문으로 구현하기

  • card 가 cards안에 생기도록 parent지정
public class gameManager : MonoBehaviour
{
    public Text timeTxt;
    float time;
    public GameObject card;

    // Start is called before the first frame update
    void Start()
    {
        for (int i = 0; i < 16; i++)
        {
            GameObject newCard = Instantiate(card);
            //newCard를 Cards안으로 넣기
            newCard.transform.parent = GameObject.Find("cards").transform;
        }
    }
  • newCard 의 위치를 잡아주기
    • 4로 나눈 나머지를 활용하기
float x = (i / 4) * 1.4f - 2.1f;
float y = (i % 4) * 1.4f - 3.0f;
newCard.transform.position = new Vector3(x, y, 0);
Contents
  • -

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.