๋ ์ด๋ ๊ฒ ์งฐ์๋ฏ
์ฝ๋ฉ ๋ฐ ๋ ํ์ด๋ผ ์ง์ ํด์ฃผ๋ฉด ๋ณด๊ณ ๋ฐฐ์ธ๊ฒ
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ForTest_Delete : MonoBehaviour
{
public SpriteRenderer mysprite;
public float countHow, count;
public bool isMovingActived;
IEnumerator circleCor, boolChangerCor;
private void Update() //์ผ์ ์๊ฐ๋ง๋ค ์ฝ๋ฃจํด ๋ฐ๋ณต ์ฌ์
{
count -= Time.deltaTime;
if(count <= 0)
{
count = countHow;
if (!isMovingActived)
{
circleCor = Moving();
StartCoroutine(circleCor);
}
else//์ด๋ฏธ true์ด๋ฉด ์คํ์ค์ธ๊ฑฐ ์ทจ์์ํด ๋๋ฒ ์คํ์ํจ
{
count = 0.5f;
StopCoroutine(circleCor);
StopCoroutine(boolChangerCor);
isMovingActived = false;
mysprite.color = Color.red;
}
}
}
IEnumerator Moving()//์คํ์ค์ ํ๋์ ๋๋๋ฉด ํ์์
{
isMovingActived = true;
//boolchanger ์คํ
boolChangerCor = BoolChanger();
StartCoroutine(boolChangerCor);
var startTime = Time.time;
while (Time.time - startTime < 0.25f)
{
mysprite.color = Color.blue;
yield return null;
}
mysprite.color = Color.white;
}
IEnumerator BoolChanger()
{//0.1์ด๋ค์ false๋ก
var startTime = Time.time;
while (Time.time - startTime < 0.1f)
{
yield return null;
}
isMovingActived = false;
}
}
ํธ์ถํ๋ฉด 0.25์ด ๋์ ํ๋๊ฒ ์น ํด์ค
0.1์ด์์ ๋ ํธ์ถํ๋ฉด ์ฝ๋ฃจํด ๋ฉ์ถ๊ณ ย ๋นจ๊ฐ์ง๋ค์ย 0.5์ด๋์ ๋ฉ๋๋ฆผ
์ด๋ฐ์์ผ๋ก
์ฐพ๋๊ฑฐ ๋ง๋?
๋์๋์ผ๋ฉด ์ข๊ฒ ๋ค
์ค ๊ฐ์ฌ๊ฐ์ฌ ๋จผ๊ฐ ๊ฐ๋ ์ฑ ์ข์๋ฏ ๊ตฟ
boolchanger๋นผ๊ณ ๋ฐ์ ๋๊ธ์ฒ๋ผใฑใฑ ์ฝ๋ฃจํด ์ธ๋ฐ์์ด ๋๊ฐ ์์จ๋๋
์ฝ๋ฃจํด ์์์์ ์ ์ด์ ์์time์ด 0.1์ด ์์ง๋ซ์ผ๋ฉด ๋ฉด ๊ทธ์ ์ฝ๋ฃจํด ์คํํ๊ณ ์์time ๋ค์ ์ ์ฅํ๊ณ ์ฝ๋ฃจํด๋๋ด๊ณ ์ง๋ซ์ผ๋ฉด ๊ฑ ์์ํ์ ์ ์ฅํ๊ณ ๊ทธ๋๋ก์คํํ์๋ฉด๋ธ๋ฏ
ํ ์ด๊ฑฐ๋ค ใณใณ
์ด์ ๊ธ ๋ํ ํ๋๊น ๋๊ฐ ๋น์ทํ๊ฒ ํด๋ง๋ค
https://gall.dcinside.com/mgallery/board/view/?id=game_dev&no=148936&page=2
์ ๊ธฐ์
ใ ใ ฃ๊ฐ์ฒดํฌ๋ ์ ์ง๋ ์ฝ๋ฃจํด์์ผ๋ก ๋ค๋ฃ์ผ์๋ฉด๋ ๋ฏ
๋ท๋ถ์ณ๋ฒ๋ ธ๋ค..
์ฝ๋๋ ์์ฝ์ด๋ดฃ๋๋ฐ ๊ทธ๋ฅ bool ํด์ if๋ฌธ ํจ๋๋ฆฌ๋ณด๋ฉด ์ฝ๊ฒ๋ ๊ฑฐ๊ฐ์๋
์ฝ๋ฃจํด์ค์ ํ์ธํด์ผํ๋ค๋ ์กฐ๊ฑด์ด ์์ด์ ์ดํดํ๊ธฐ ์ฝ๊ฒ ์ง๋ดค์์ด - dc App
์ด์กฐ๋ ๊ฐ๋จํ๊ฑธ ๋ฉฐ์น ์งธ ์ฒํ๊ณ ์๋๋ค..
์ญ ๋ณด๋๊น ์ฝ๋กฌ๋ณด์ค ๋ฌ๊ฑ ๊ฐ์๊ฑฐ ์๋๊น ์ถ์์