홈>
한 스크립트에서 다른 스크립트로 gameobject 배열 값에 액세스하려고합니다. 아래 그림과 같이 편집기에서 특정 게임 오브젝트 캡슐을 배열에 연결했으며 배열 값을 다른 스크립트에 액세스하려고합니다. 그러나 값을 전달하려고하면 null 값이 나타납니다. 런타임 중에 gameobject를 활성화 및 비활성화해야하므로 gameobject 태그를 사용하고 싶지 않습니다.
PinsScript.cs
public class PinsScript : MonoBehaviour {
// Use this for initialization
public GameObject[] pins;
void Start () {
}
// Update is called once per frame
void Update () {
}
}
MovingBall.cs
PinsScript p = GetComponent<PinsScript>();
foreach (GameObject pin in p.pins)
{
pin.SetActive(false);
}
- 답변 # 1
- 답변 # 2
여기서 문제는PinsScript에 액세스하려는
새로운 MovingBall을 체결 할 때마다 PinsScript를 어딘가에서참조해야합니다. 나는 보통 MonoBehavior에 코드의 작은 부분을 추가하여 MovingBall을 만듭니다.
그런 다음 PinsScript를 보유한 GameObject를 해당 변수로 드래그하기 만하면됩니다. 다른 방법은 GameObject에 이름으로 접근하는 것입니다 :public PinsScript pinsScript;
PinsScript p = GameObject.Find("TheNameOfTheGameObjectHoldingThePinsScript").GetComponent<PinsScript>();
관련 자료
- 값으로 객체의 Javascript 액세스 배열
- javascript - 다른 키 값 쌍을 유지하면서 객체 배열에서 트리 만들기
- Javascript Ajax 배열 값만 표시하는 방법
- vue.js - 여러 조건에 따라 배열의 항목 값을 변경하려면 어떻게해야합니까?
- java - 편집기에서 다른 파일에 액세스하는 방법은 무엇입니까?
- javascript - 특정 인덱스의 값을 얻기 위해 JSON에서 배열을 정렬하는 방법은 무엇입니까?
- java - 배열에서 마지막 3 개의 인덱스 값 변경
- javascript - 배열 값으로 배열 객체 필터링
- javascript - 객체 배열에서 누락 된 값을 확인하고 특수 문자로 누락 된 값을 추가하는 방법
- java - 배열을 값으로 배열 인덱스의 맵으로 변환
- javascript - 배열 항목은 "정의되지 않음"값을 얻습니다
- nuxtjs - Vuejs의 배열에 배치 된 객체 배열에 액세스하려면 어떻게해야합니까?
- python - 인덱스 및 슬라이싱을 사용하지 않고 중첩 목록의 값에 액세스하는 방법은 무엇입니까?
- java - 이진 검색 비교 트리로 배열 값 표시를 어떻게 수정할 수 있습니까?
- javascript - Vuejs 양식은 배열에 여러 값을 가져옵니다
- 자바 스크립트에서 주어진 값을 합산하는 배열에서 삼중 항 찾기
- javascript - 기존 개체 배열에 새 키 값을 삽입 하시겠습니까?
- 자바 스크립트를 사용하여 다차원 배열에서 값이 0 인 경우 배열에서 요소를 제거하는 방법
- javascript - 새 배열을 만들기위한 두 배열의 최소값
- 객체의 PHP 배열 내부의 데이터에 액세스 할 수 없습니다
트렌드
- OpenCv의 폴더에서 여러 이미지 읽기 (python)
- 파이썬 셀레늄 모든 "href"속성 가져 오기
- html - 자바 스크립트 - 클릭 후 변경 버튼 텍스트 변경
- javascript - 현재 URL에서 특정 div 만 새로 고침/새로 고침
- JSP에 대한 클래스를 컴파일 할 수 없습니다
- JavaScript 변수를 HTML div에 '출력'하는 방법
- git commit - 자식 - 로컬 커밋 된 파일에 대한 변경을 취소하는 방법
- jquery - JavaScript로 현재 세션 값을 얻으시겠습니까?
- javascript - swiperjs에서 정지, 재생 버튼 추가
- python - 화면에서 찾은 요소를 찾을 수없는 경우 셀레늄
각 핀에 PinScript를 부착하십시오. 깨어있을 때 배열에서 각 핀에 대한 참조를 유지하십시오. PinScript가 비어있을 수 있습니다. 그런 다음 원하는대로 켜거나 끄는 참조가 있습니다. 스크립트는 다음과 같습니다.
PinScript.cs
MovingBall.cs
그러면 다음을 호출하여 비활성화 할 수 있습니다 :
그러나 이것은 훌륭한 아키텍처가 아닙니다. 그러나 간단한 해결책입니다. 나는 당신이 얼마나 많은 핀을 가지고 있는지 모른다고 가정합니다. 핀을 미리 알고 있다면 알려 주시면 더 최적화 된 솔루션을 제안하겠습니다. 그러나 이것은 어느 쪽이든 작동합니다.