현재 듣고있는곡
夜踊る雫 / miku STEAKA
리듬감이 미친 곡이다 작업할때 들으면 신난다
몬스터 스포너는 2016년에 누군가 던져둔 코드를 사용했다
스크립트를 봤을때 너무나 적당해서 적당히 수정해서 가져왔다
이제 몬스터는 일정 시간마다 자동으로 생성된다
다만 문제가 여러가지 있다
몬스터내의 스크립트가 여러가지를 가져와야 사용할 수있는데, 이를 자동으로 가져오지 못하는 상황이다
이를 해결하기 위해서 .find()함수를 사용한다
GameObject cameraswitchObject = GameObject.Find("Cameraswitch");
if (cameraswitchObject != null)
{
cameraswitch = cameraswitchObject.GetComponent<CameraSwitch>();
}
GameObject playerObject = GameObject.Find("Player");
if (playerObject != null)
{
player = playerObject.GetComponent<GPSManager>();
}
어차피 카메라 스위치와 플레이어는 이름이 변하지 않으니, 이름으로 게임 오브젝트를 가져온뒤, 게임 오브젝트에서 컴포넌트를 뜯어오는 방식으로 자동으로 필요한 컴포넌트 값들을 가져온다
그럼 이렇게 자동으로 채워지는 모습을 볼 수 있다
다만 이렇게 하는것에는 문제가 있다
이러한 방식으로는 false된 오브젝트는 가져올 수 없다
private void OnTriggerEnter2D(Collider2D other)
{
if (other.CompareTag("Player")) // 충돌한 객체가 Player 태그
{
if (monsterCollider != null)
{
monsterCollider.enabled = false;
player.ismove = false;
//move_scence.SetActive(true);
Instantiate(move_scence,gameObject.transform.position, gameObject.transform.rotation);
Destroy(gameObject);
}
}
}
그래서 충돌시 setactive를 조절하는 것이 아닌, instantiate하는 방식으로 변경했다