IEnumerator LMoveImage() { //이미지를 왼쪽이동시키는 함수 while (imageState == insertImageState.Left) { yield return(new WaitForSeconds(0.01f)); float x = skillInsertImage.GetComponent <RectTransform> ().localPosition.x; //현재 x값의 위치를 받아온다. if (x > 103) { skillInsertImage.GetComponent <RectTransform> ().Translate(15 * -imageSpeed, 0, 0); //10씩 왼쪽으로 이동 } else { // skillInsertImage.enabled = true; imageLerpTime += 0.01f; if (imageLerpTime > 3) { float ImageAlpha = (4 - imageLerpTime); skillInsertImage.color = new Color(255, 255, 255, ImageAlpha); if (ImageAlpha < 0.3) { skillInsertImage.enabled = false; imageState = insertImageState.Stop; //x값이 0보다 작을 경우 멈춤 ImageBackPos(); } } } } }
public void ImageBackPos() { StopCoroutine(LMoveImage()); imageState = insertImageState.Right; ResetBossImage(); if (imageState == insertImageState.Stop) { skillInsertImage.enabled = true; } }
public void ResetBossImage() { skillInsertImage.GetComponent <RectTransform> ().localPosition = new Vector3(613, -152, 0); skillInsertImage.color = new Color(255, 255, 255, 255); imageState = insertImageState.Stop; }
public void roarStart() { //애니메이션 이벤트를 사용하여 포효시 붉은 이펙트를 켠다. //GameObject.FindGameObjectWithTag ("MainCamera").GetComponent<RedRenderImage> ().enabled = true; imageState = insertImageState.Left; //이미지 상태 값 저장 왼쪽 StartCoroutine(LMoveImage()); //코루틴 실행 }