[Unity] 자식 객체의 Collision을 얻는 방법

5035 단어 Unity 입문Unity
이미지인 위치에 콜리전이 있어 그 오브젝트가 플레이어의 아이의 오브젝트인 경우의 아이의 오브젝트의 Collision 의 취득 방법입니다.

설명

아이의 스크립트로 부모의 스크립트 취득해 거기에 함수의 인수에 Collision,collider 를 넣어 부모 객체의 함수가 참조된다고 하는 구조입니다.




자식 객체
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class AttackCol : MonoBehaviour
{

    GameObject moveControl;
    MoveControl moveControlScript;

    // Use this for initialization
    void Start()
    {       
        moveControl = transform.parent.gameObject;
        moveControlScript = moveControl.GetComponent<MoveControl>();
    }

    void Update()
    {

    }

    //親のmoveControlスクリプトで判定
    private void OnTriggerStay(Collider other)
    {
        //Debug.Log("Attack col");
        moveControlScript.AttackStay(other);
    }

    //親のmoveControlスクリプトで判定
    private void OnTriggerExit(Collider other)
    {
        //Debug.Log("Attack col");
        moveControlScript.AttackExit(other);
    }
}

상위 객체
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MoveControl : MonoBehaviour
{
    private bool isAttack;

    void Start()
    {     
        isAttack = false;    
    }

    void Update()
    {

    }

    //子のTriggerStay
    public void AttackStay(Collider other)
    {
      //ここに処理を書く
    }

    //子のTriggerExit
    public void AttackExit(Collider other)
    {
      //ここに処理を書く
    }
}

좋은 웹페이지 즐겨찾기