11/09 ~ 11/12
2023.11.13
- Monsters(Basic/Middle/Boss) prefab 제작
- Basic Monster가 아래로 떨어질 수 있도록 Rigidbody2D와 Boxcollider2D 사용
- AddForce 사용하여 Monster가 떨어지는 방향과 속도 조절
- Random.Range()를 사용하여 Monster가 X축 좌표에서 랜덤으로 생성


GetComponent<ComponentType>();
AddForce(Vector2 force, ForceMonde2D.Force);
public class BasicMonster_Force : MonoBehaviour
{
public Rigidbody2D BasicMoster_Rigidbody;
// Start is called before the first frame update
void Start()
{
//Rigidbody2D에서 rigidbody를 가져옵니다.
BasicMoster_Rigidbody = GetComponent<Rigidbody2D>();
}
// Update is called once per frame
void Update()
{
//AddForce를 사용하여 방향과 속도 조절
BasicMoster_Rigidbody.AddForce(Vector2.down * 1f, ForceMode2D.Force);
}
}
Monster의 위치를 X축 좌표를 기준으로 램던으로 생성
Random.Range(minInclusive , maxInclusive);
public class BaiscMonster : MonoBehaviour
{
public GameObject BasicMonster;
public int BasicMonsterCount = 50;
private float randomX;
// Start is called before the first frame update
void Start()
{
InvokeRepeating(nameof(spawn), 0.5f, 3f);
}
// Update is called once per frame
void spawn()
{
// Monster의 X좌표 범위 고정 후 랜덤 생성
randomX = Random.Range(-2, 3);
GameObject newObject = Instantiate(BasicMonster, new Vector3(randomX, gameObject.transform.position.y, 0f), transform.rotation);
Destroy(newObject, 4f);
}
}
randomX를 void start가 아닌 InvokeRepeating을 사용하여 spawn을 선언한 후 void spawn을 사용한 이유
: 계속해서 다양한 x좌표 위치에서 몬스터가 반복적으로 나오게 하기 위해 새로 생성하였다.
몬스터의 X 값을 확인 후 Random.Range(-2, 3);의 값을 작성 > (-2, 2)범위
wow