Ich arbeite in einem mobilen Spiel mit mehreren Bereichen in der gleichen Szene. Jedes Gebiet hat einen Auslöser und wenn der Spieler es betritt, werden mehrere Objekte erzeugt, um sie aufzunehmen. Wie kann ich ein abgeholtes Objekt deaktivieren? Wenn der Spieler diesen Bereich erneut betritt, taucht dieses Objekt nicht wieder auf?Erzeugtes Objekt taucht nicht wieder auf
Dies ist mein Code:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using PathologicalGames;
public class InOutZone_ZONAS: MonoBehaviour {
//Objetos
[Header("Objetos")]
public List<GameObject> spawnPositions;
public List<GameObject> spawnObjects;
private GameObject[] despawnObjects;
void OnTriggerEnter(Collider other)
{
if (other.gameObject.tag == "Player")
{
SpawnObjectsZ();
}
}
void OnTriggerExit(Collider other)
{
if (other.gameObject.tag == "Player")
{
GameObject[] despawnObjects = GameObject.FindGameObjectsWithTag("ItemZona");
for (int i = 0; i < despawnObjects.Length; i++)
{
PoolManager.Pools ["Objetos"].Despawn (despawnObjects[i].transform);
Debug.Log("Despawnea Objetos");
}
}
}
void SpawnObjectsZ()
{
foreach (GameObject spawnPosition in spawnPositions) {
int selection = Random.Range (0, spawnObjects.Count);
PoolManager.Pools ["Objetos"].Spawn (spawnObjects [selection], spawnPosition.transform.position, spawnPosition.transform.rotation);
}
}
}
Sie bitte Ihre aktuellen Code veröffentlichen, die nicht funktioniert. – Programmer
Ich habe meinen Code hinzugefügt – Angelsm
Ok. Gut. Bitte erläutern Sie, an welches Objekt das 'InOutZone_ZONAS'-Skript angehängt ist. Der Abholgegenstand oder der Ort, an dem der Spieler entdeckt wurde? – Programmer