앞면은 사과, 뒷면은 딸기인 카드를 놓고
사용자가 선택하면 카드가 회전하면서 앞면은 뒷면으로, 뒷면은 앞면으로 변하는 모습을 만들려고 하고 있습니다.
void Update () {
//1. 키가 눌렸는지 확인하기
if(Input.GetKeyDown(KeyCode.LeftArrow))
{
StartCoroutine("CardFlip1"); // 카드 0~90도 회전,
StartCoroutine("CardFlip2"); // 카드 90~180도 회전
}
}
IEnumerator CardFlip1() {
// 이미지 0~90도까지 회전
for (float i = 1; i<90; i++) {
transform.Rotate(0.0f, 1f, 0.0f);
// 화면 갱신까지 대기
yield return new WaitForFixedUpdate();
}
// 90도까지 회전 후 사과 이미지 삭제 후 딸기 이미지 생성
prePos = this.gameObject.transform.position;
preRotation = this.gameObject.transform.localRotation;
Destroy(this.gameObject);
Instantiate(preFruit,prePos,preRotation);
}
IEnumerator CardFlip2() {
// 이미지 90~190도까지 회전
for (float i = 90; i<180; i++) {
transform.Rotate(0.0f, 1f, 0.0f);
// 화면 갱신까지 대기
yield return new WaitForFixedUpdate();
}
}
위와 같은 방법을 이용하고 있는데
카드가 0~180도까지(앞면에서 뒷면으로까지) 모두 변화한 후에
이미지 그림이 바뀌고 있습니다.
CardFlip1 에서 90도까지 회전 후 Destory 와 Instantiate가 제대로 작동안하는거 같은데..
이 부분만 따로 coroutine로 작성을 해도 잘 안되네요
아시는분 답변 부탁 드립니다..