2017-03-10 1 views
0

배열에 null을 적용하려고합니다. 배열은 게임 프리 팹이 인스턴스화되는 지점입니다. 게임의 어느 시점에서이 스폰 지점이 파괴 될 수 있습니다. 이 경우 코드는 더 이상 존재하지 않아도 해당 스폰 지점에 계속 액세스하려고하므로 null로 만들려고합니다. 지금까지 나는 실패했다. 이것은 내가 고쳐야 할 게임에서 마지막 것입니다. 도움을 주시면 감사하겠습니다.게임의 한 지점에서 더 이상 존재하지 않는 배열에 null을 선언하려고합니다.

using UnityEngine; 
using System.Collections; 
using System.Collections.Generic; 
using System.Text; 

public class podControl : MonoBehaviour { 

    public Transform [] spawns; 
    public float spawnTime = 6f; 
    public float secondSpawnTime = 3f;  
    public GameObject podPrefab; 

    void Start() 
    { 
     InvokeRepeating ("landingPod", spawnTime, secondSpawnTime); 
    } 

    void landingPod() 
    { 
     int spawnIndex = Random.Range (0, spawns.Length); 

     if (spawns != null) { 
      Instantiate (podPrefab, spawns [spawnIndex].position, spawns [spawnIndex].rotation); 
     } 
    } 

} 
+0

그래서이 코드는 우리에게 보여주는 무슨 뜻한다 오히려 항목에 비해 null가 아닌 경우, 그렇지 않으면보고 확인하는 것

if(spawns[spawnIndex] != null) 

안? –

+1

문제가 더 구체적 일 수 있습니까? null로 설정하지 못하면 무엇을 의미합니까? 그것은 어딘가 예외를 던집니까? 예를 들어'spawns' 배열의 일부 항목을 null로 설정 한 다음'spawn [spawnIndex] .position'을 사용하여 액세스하려고하면 객체 참조 예외가 발생합니다. 그게 무슨 일 이니? – eminlala

+0

예. 죄송합니다. 오류 메시지가 무엇인지 언급하는 것을 잊어 버렸습니다. 이제 문제가 해결되었으므로, 제가 생각한 바로 그 부분이 –

답변

0

이 배열이

+0

입니다.하지만 모든 것을 수행하지 않고도 하나의 배열을 null로 선언하는 방법을 알지 못했습니다. 오류 메시지가 사라졌습니다. 감사! –

관련 문제