게임 개발 로그

Flappy Brid 본문

게임 개발/미니게임

Flappy Brid

03:00am 2024. 11. 12. 12:06

 

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