using UnityEngine;
using System.Collections;
public class PowerUpsMaster : MonoBehaviour {
public GameObject player;
private GameMaster playcontrol;
public GameObject mushroom;
public GameObject skull;
public GameObject mask;
public GameObject dragoneye;
//GameObject [] powerUps;
void Awake()
{playcontrol = player.GetComponent<GameMaster>();
}
void Start()
{
if (playcontrol != null)
{
playcontrol.powerUps [0] = mask;
playcontrol.powerUps [1] = dragoneye;
playcontrol.powerUps [2] = skull;
playcontrol.powerUps [3] = mushroom;
}
Debug.Log ("powerup is" + playcontrol.powerUps[0]); **ERROR IS HERE*****
Debug.Log ("powerup is" + playcontrol.powerUps[1]);
Debug.Log ("powerup is" + playcontrol.powerUps[2]);
Debug.Log ("powerup is" + playcontrol.powerUps[3]);
}
void OnTriggerEnter2D(Collider2D other)
{
}
}
Я пытаюсь получить доступ к скрипту из другого объекта, поэтому в конечном итоге я могу проверить наличие конфликта в массиве бонусов.Доступ к скрипту на другом объекте. C#
Я получаю объект исключительных исключений, не установленный в экземпляр. Я связал себя, если супы пытаются использовать разные решения. Я вернул его на голые кости и все еще имею проблему. Я поставлю скрипт gamemaster ниже, чтобы вы могли видеть полную картину.
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class GameMaster : MonoBehaviour
{
public GameObject player;
public GameObject[] enemies;
public GameObject[] powerUps;
public GameObject[] coins;
public Vector3 spawnValues;
public Vector3 powerUpValues;
//public Vector3 playerStartpos;
// not needed same as powerupvalues public Vector3 coinValues;
public int enemyCount;
public int powerUpCount;
public int coinCount;
public float spawnWait;
public float startWait;
public float waveWait;
void Awake()
{
if (player == null)
player = GameObject.FindGameObjectWithTag ("Player");
Vector3 playerStartpos= new Vector3 (-12,0,0);
Instantiate (player,playerStartpos,Quaternion.identity);
// ,playerStartpos,Quaternion.identity);
}
void Start()
{
StartCoroutine (SpawnWaves());
StartCoroutine (SpawnPowerUps());
StartCoroutine (SpawnCoins());
}
IEnumerator SpawnPowerUps()
{
yield return new WaitForSeconds (startWait);
while (true) {
for (int i = 0; i < powerUpCount; i++) {
if (powerUps == null)
powerUps = GameObject.FindGameObjectsWithTag ("PowerUps");
GameObject powerUp = powerUps [Random.Range (0, powerUps.Length)];
Vector3 spawnPosition = new Vector3 (Random.Range (-powerUpValues.x,
powerUpValues.x), Random.Range (-powerUpValues.y, powerUpValues.y), spawnValues.z);
Quaternion spawnRotation = Quaternion.identity;
Instantiate (powerUp, spawnPosition, spawnRotation);
yield return new WaitForSeconds (spawnWait);
}
yield return new WaitForSeconds (waveWait);
}
}
IEnumerator SpawnCoins()
{
yield return new WaitForSeconds (startWait);
while (true) {
for (int i = 0; i < coinCount; i++) {
if (coins == null)
coins = GameObject.FindGameObjectsWithTag ("Coin");
GameObject coin = coins [Random.Range (0, coins.Length)];
Vector3 spawnPosition1 = new Vector3 (Random.Range (-powerUpValues.x,
powerUpValues.x), Random.Range (-powerUpValues.y, powerUpValues.y), spawnValues.z);
Quaternion spawnRotation1 = Quaternion.identity;
Instantiate (coin, spawnPosition1, spawnRotation1);
yield return new WaitForSeconds (spawnWait);
}
yield return new WaitForSeconds (waveWait);
}
}
IEnumerator SpawnWaves()
{
yield return new WaitForSeconds (startWait);
while (true)
{
for (int i = 0; i < enemyCount; i++)
{
if (enemies == null)
enemies = GameObject.FindGameObjectsWithTag("Enemy");
GameObject enemy = enemies[Random.Range(0, enemies.Length)];
Vector3 spawnPosition2 = new Vector3 (spawnValues.x,Random.Range (-spawnValues.y,
spawnValues.y), spawnValues.z);
Quaternion spawnRotation2 = Quaternion.identity;
Instantiate (enemy, spawnPosition2, spawnRotation2) ;
/*yield return new WaitForSeconds (spawnWait);
Vector3 spawnPosition1 = new Vector3 (spawnValues.x,Random.Range (-spawnValues.y,
spawnValues.y), spawnValues.z);
Quaternion spawnRotation1 = Quaternion.Euler (0,180,0);
Instantiate (crow, spawnPosition1, spawnRotation1) ;
yield return new WaitForSeconds (spawnWait);
Vector3 spawnPosition2 = new Vector3 (spawnValues.x,Random.Range (-spawnValues.y,
spawnValues.y), spawnValues.z);
Quaternion spawnRotation2 = Quaternion.Euler (0,180,0);
Instantiate (goldenEagle, spawnPosition2, spawnRotation2) ;
yield return new WaitForSeconds (spawnWait);
Vector3 spawnPosition3 = new Vector3 (spawnValues.x,Random.Range (-spawnValues.y,
spawnValues.y), spawnValues.z);
Quaternion spawnRotation3 = Quaternion.Euler (0,180,0);
Instantiate (baldEagle, spawnPosition3, spawnRotation3) ;
*/
yield return new WaitForSeconds (spawnWait);
}
yield return new WaitForSeconds (waveWait);
}
}
}
Вставить ошибку и показать нам соответствующий код, в котором он говорит, что ошибка – Savlon
[Unity3D] Тег не [единство] метки на этой части сайта :) – Lefty
Unity3d только адрес веб-сайта, единство является имя двигателя, и это также игра 2d. – Milodin