2014-11-19 3 views
2

이것은 2D 게임용입니다.2 개의 게임 객체가 두 개의 방아쇠를 만드는 방법이 있습니까?

나는 트리거 발동기 (발동기 충돌기 포함)를 발사 할 수있는 플레이어와 동일한 기능을 수행 할 수있는 적을 보유하고 있습니다. 플레이어 발사체가 적과 충돌하면 물건이 발생하고 반대의 경우도 마찬가지입니다. 그러나 플레이어 발사체와 적 발사체가 충돌하면 충돌을 무시하고 서로 통과하며 아무 일도 일어나지 않습니다. 또한 충돌 감지 기능이있는 Rigidbody2D도 있습니다.

트리거 콜리더가있는 두 게임 객체가 접촉 할 때 무언가를 만들 수있는 방법이 있습니까?

는 여기가 적 발사체 스크립트있어 무엇 : 게임 오브젝트가 적 발사체와 충돌하지되는 플레이어 발사체의 이름 인

void OnTriggerEnter2D(Collider2D other){ 
    if (other.gameObject.name == "Ground"){ 
     Destroy (gameObject); 
    } 
    else if (other.gameObject.name == "Player"){ 
     other.gameObject.GetComponent<RControlScript>().RHealth = other.gameObject.GetComponent<RControlScript>().RHealth - damage; 
     Instantiate(transformInto, gameObject.transform.position, gameObject.transform.rotation); 
     Destroy (gameObject); 
    } 
    else if(other.gameObject.name == "Shot"){ 
     Destroy (gameObject); 
    } 
} 

"샷".

답변

1

예.

다음은 Unity3d에서 무엇이 충돌하는지 알려주는 그래프입니다. 좋아

enter image description here

+0

네, 그 그래프를 보았습니다. 그래서 두 개의 강체가 충돌하는 발사체가 충돌했을 때 아무 것도 일어나지 않습니다. – CodeLook12

0

는 두 개의 트리거 colliders 충돌 사실 이렇게 밝혀졌습니다. 내 문제는 인스턴스화 된 projectiles이 복제본 이었기 때문에 이름이 "Shot (clone)"인 것입니다. 상황을 바꾸기 위해 그것을 바꿔야했습니다.