function Fade() {
for (var f = 1.0; f >= 0; f -= 0.1) {
var c = renderer.material.color;
c.a = f;
renderer.material.color = c;
yield;
}
}
함수에 yield를 입력을 해주면 Unity에서는 이것을 Coroutines으로 인식한다.
function Update() {
if (Input.GetKeyDown("f")) {
Fade();
}
}
위와 같이 호출하여 사용한다.
활용은 API에서 알려주는 활용 예시는 아래와 같다
function ProximityCheck() {
for (int i = 0; i < enemies.Length; i++) { if (Vector3.Distance(transform.position, enemies[i].transform.position) < dangerDistance) { return true; } } return false; }위의 내용은 몬스터가 근접했을때 경고를 주는 내용이라고 한다.
(서로의 위치(position)를 비교하여 위험 범위 안이면 true를 반환하는것으로 보인다.)
이와 같은 소스가 여러마리일때 적용되면 불필요한 작업이 되어진다.
IEnumerator DoCheck() {
for(;;) {
ProximityCheck;
yield return new WaitForSeconds(.1f);
}
}
위의 소스처럼 작성하게 되면 1/10초마다 호출할수 있게 된다.
1/10초를 기다리게 하는 기능 waitForSeconds
https://docs.unity3d.com/ScriptReference/WaitForSeconds-ctor.html
public WaitForSeconds(float seconds);
'정리 카테고리 > API' 카테고리의 다른 글
정부 오픈 API & DATA (0) | 2019.05.16 |
---|---|
Unity_ animation.IsPlay() (0) | 2018.04.03 |
Unity_transform.translate 방향 거리로 이동하자. (0) | 2018.03.30 |
String.Equals_입력받은 문자열인지 아닌지 1줄로 검사하자 (0) | 2018.03.08 |
String.Contains_문자열에 찾는게 있게 없게 (0) | 2018.03.08 |