구현 내용
스프라이트 참조와 스케일 세팅
Resources.LoadAll로 Sprite를 다 부른 후 특정 스프라이트 기준으로 스케일을 세팅하였다.
void Start()
{
Time.timeScale = 1f;
int[] teams = { 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7 };
teams = teams.OrderBy(item => Random.Range(-1.0f, 1.0f)).ToArray();
// 폴더의 스프라이트 모두 부르기
Sprite[] sprites = Resources.LoadAll<Sprite>(CARD_PATH);
for (int i = 0; i < 16; i++)
{
GameObject newCard = Instantiate(card);
// newCard를 cards 안으로 옮겨줘
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);
Transform frontTrans = newCard.transform.Find("front");
SpriteRenderer cardRenderer = frontTrans.GetComponent<SpriteRenderer>();
cardRenderer.sprite = sprites[teams[i]];
// 스케일 세팅
Vector3 tempScale = frontTrans.transform.localScale;
tempScale.x *= rtanSpriteSize / cardRenderer.sprite.rect.width;
tempScale.y *= rtanSpriteSize / cardRenderer.sprite.rect.height;
frontTrans.localScale = tempScale;
}
}
맞췄을 때와 아닐 때 구분하기
정해진 시간을 기준으로 맞췄을 때와 아닐 때를 구분하였다.
private IEnumerator CoVerifyMatching(string cardName, bool isCorrect = false)
{
// 맞췄을 때
if (isCorrect)
{
matchText.text = cardName.Split('_')[0];
matchText.color = correctColor;
}
// 아닐 때
else
{
matchText.text = unCorrectMessage;
matchText.color = unCorrectColor;
}
matchText.gameObject.SetActive(true);
yield return new WaitForSeconds(matchTextTime);
matchText.gameObject.SetActive(false);
}
플레이 장면
느낀 점
나는 게임 개발자로서 성장하기 위해 이번 부트캠프에 도전하게 되었다. 꾸준함과 노력은 결과를 배신하지 않는다고 믿고있다. 단순히 시간을 버리는 것이 아닌 주어진 시간에 집중하여 내 자신을 가꿔 한 발 더 성장하는 시간이 되었으면 좋겠다. 오늘 보다 나은 내일의 내가 될 것을 다짐하며 오늘 하루를 보냈다. 게으름과 싸워 지지말자 파이팅!
'스파르타 Unity 1기' 카테고리의 다른 글
스파르타 Unity 8기 3일차 TIL (0) | 2023.08.09 |
---|---|
스파르타 Unity 8기 2일차 TIL (0) | 2023.08.08 |
사전캠프 4일차 (0) | 2023.08.04 |
사전캠프 3일차 (0) | 2023.08.03 |
사전캠프 2일차 (0) | 2023.08.02 |