커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
카드뒤집기 뒷면은 설정한 위치에 두고, 앞면만 랜덤한 위치로 생성되게 하는거 어떻게 하나용?
undefined주차
북마크
문*령
댓글
1
추천
0
조회수
10
조회수
10
답변 완료

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.


안녕하세요! 현재 예제에서는 카드 게임 뒷면(물음표가 있는 하얀 네모)는 전부 같은 모양이고 자동으로 생성되며, 앞면은 랜덤한 위치에 형성되게 되어있는데,

저는 제가 임의로 설정하여 정해진 위치에 다 다른 모양의 랜덤한 카드(뒷면)이 생기되,

앞면인 르탄이만 랜덤하게 짝을 이뤄 생성되게 하려면 어떻게 하나요??ㅠㅠ


쉽게 말하면, 원하는 위치에 카드를 배치하고

뒤집었을 때 르탄이만 랜덤한 위치에 자동으로 생성되게 하고 싶습니다!!




스파르타 즉문즉답

저는 카드를 피자 모양으로 해서 뒤집고 싶어서요!!

그래서 피자 카드는 제가 하나하나 자리를 배치해도 되는데

뒤집었을때 나오는 르탄이(앞면)은 랜덤하게 배치하고 싶습니당!!




작성한 코드 및 에러 메세지

void Start()

{

  int[] rtans = { 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7 };


  rtans = rtans.OrderBy(item => Random.Range(-1.0f, 1.0f)).ToArray();


  for (int i = 0; i < 16; i++)

  {

    GameObject newCard = Instantiate(card);

    newCard.transform.parent = GameObject.Find("cards").transform;


    float x = (i / 4) * 1.4f - 2.1f;

    float y = (i % 4) * 1.4f - 3.0f;

    newCard.transform.position = new Vector3(x, y, 0);


    string rtanName = "rtan" + rtans[i].ToString();

    newCard.transform.Find("front").GetComponent<SpriteRenderer>().sprite = Resources.Load<Sprite>(rtanName);

  }

}



=> 이건 현재 예제에 나오는 코드입니당

취소
 공유
취소
댓글 0
댓글 알림
나의얼굴