스파르타 게임개발종합반(Unity)/사전캠프 공부 기록

[Unity/2D] 숙제 - 떨어지는 네모(화면 밖을 나간 네모)를 없애기

테크러너 2024. 4. 2.

떨어지는 네모를 없애기

  • 화면 밖으로 떨어진 네모들을 Destroy(gameObject) 해주기!

→ 시간이 지나면 네모가 계속 쌓이고 있었네요..!

→ 화면을 넘어가면 square를 Destroy 해줄 수 있을까요?

→ 화면에 보여지는 네모와 square(clone) 수가 일치하면 완성!

  • 힌트요정 - 👻
    • 더보기
      •  Square.cs 만 수정하면 된답니다!
      • → Update() 안에 딱 세 줄만 넣으면 됩니다! 딱 5분만 더 해보면 될 거예요!
      • → y좌표 구하기 ⇒ transform.position.y 기억나시죠!
      • → 없애라 ⇒ Destroy(gameObject) 기억나시죠!
      	Update()
      	{
      		if (만약에 y좌표가 -5.0f 보다 작다면)
      		{
              		없애라;
          		}
      	}

 

 

결과

 

 

정답 코드

더보기

Square.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Square : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        // 랜덤 위치 설정
        float x = Random.Range(-3.0f, 3.0f);
        float y = Random.Range(3.0f, 5.0f);

        transform.position = new Vector2(x, y);

        // 랜덤 사이즈 설정
        float size = Random.Range(0.5f, 1.5f);
        transform.localScale = new Vector2(size, size);
    }

    // Update is called once per frame
    void Update()
    {
        if(transform.position.y < -6.0f)
        {
            Destroy(gameObject);
        }
    }

    private void OnCollisionEnter2D(Collision2D collision)
    {
        if (collision.gameObject.CompareTag("Player"))
        {
            GameManager.Instance.GameOver();
        }
    }
}

기존 내용에서 Update()부분만 추가되었습니다.

반응형

댓글