📜 information
- 핑퐁처럼 A값이 최댓값 B에 도달하면 그 뒤부터는 마이너스 처리되고, 0이 되면 다시 최댓값까지 특정지점을 반복해서 왔다 갔다 하는 경우 사용하면 좋다.
- 다만 A는 지속적으로 증가하여 B까지 도달해야 마이너스 전환된다.
- 이때, 결괏값은 최댓값보다 작은 값까지만 반환된다.(최댓값이 3이라면, 2.9999까지 가능)
class PingPong
{
void Update()
{
// x축으로 2.9999 만큼 이동하면 다시 0.0001까지 재이동되고 다시 2.9999까지 이동 반복한다.
transform.position = new Vector3(Mathf.PingPong(Time.time, 3), transfrom.position.y, transfrom.position.z);
}
}
private IEnumerator SpawnEnemy()
{
float spawnDelay = 1;
float tileFlashSpeed = 4;
Color initialColur = tileMat.color;
Color fleshColour = Color.red;
float spawnTimer = 0;
while (spawnTimer < spawnDelay)
{
tileMat.color = Color.Lerp(initialColur, fleshColour, Mathf.PingPong(spawnTimer * tileFlashSpeed, 1));
spawnTimer += Time.deltaTime;
yield return null;
}
}
- Mathf.PingPong
- 첫 인자는 시간을 넣어줌 → SpawnTimer * tileFlashSpeed 는 점점 빨라지도록 연출하기 위해 넣음
- 두 번째 인자는 길이를 넣어줌. 0에서 몇 까지 이동할 건지. → 1
📖 참고 문서
'Unity' 카테고리의 다른 글
Rigidbody.AddTorque (0) | 2024.03.17 |
---|---|
[Attribute]ContextMenu (0) | 2024.03.17 |
[키워드] operator (0) | 2024.03.17 |
[길찾기 알고리즘] Flood Fill (0) | 2024.03.17 |
[셔플 알고리즘] The Fisher-Yates (0) | 2024.03.16 |