게임 개발 로그
Flappy Brid 본문
Flappy Bird
0. 구현
0-1. Spawner
public class PipeSpawner : MonoBehaviour
{
public GameObject pipePrefab;
public float interval = 1.0f;
public float range = 2.5f;
private void Start()
{
StartCoroutine("SpawnPipe");
}
IEnumerator SpawnPipe()
{
while (true)
{
yield return new WaitForSeconds(interval);
Instantiate(pipePrefab, new Vector3(transform.position.x, Random.Range(-range, range), transform.position.z), transform.rotation);
}
}
}
- Spawner에서 일정 시간마다 해당 위치에 Pipe를 생성한다.
- Pipe는 매 틱마다 왼쪽으로 이동하는 프리팹이다.
0-2. Endline
public class Endline : MonoBehaviour
{
private void OnCollisionEnter(Collision collision)
{
Destroy(collision.gameObject);
}
}
- 화면 밖에 Endline을 배치하여 Endline에 오브젝트가 닿으면 없어지도록 간단하게 구현했다.
0-3. FloatingUI
public class FloatingUI : MonoBehaviour
{
[SerializeField] public TextMeshProUGUI getScore;
public int speed = 20;
void Update()
{
getScore.alpha -= Time.deltaTime;
getScore.transform.position += new Vector3(0, Time.deltaTime * speed, 0);
if ( getScore.alpha <= 0 )
Destroy(gameObject);
}
public void SetPos(Vector3 pos)
{
getScore.transform.position = new Vector3(getScore.transform.position.x, pos.y, getScore.transform.position.z);
}
}
- FloatingUI는 점수 획득 시 뜨는 GetScoreUI 와 게임오버 시 뜨는 GameOverUI 에 사용한다.
- 플레이어 위치를 스크린 좌표로 변경하여, 플레이어 위치에서 UI가 뜨도록 한다.
- 시간에 따라 알파값이 변해 점점 옅어지며, 안 보이게 되면 오브젝트를 삭제한다.
'게임 개발 > 미니게임' 카테고리의 다른 글
미니게임: 미로 숨바꼭질 (0) | 2024.12.09 |
---|---|
미니게임: Carrot Flight (0) | 2024.11.21 |