Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Game Development How to Make a Video Game Pickups Spawn Pickups Randomly

Marc Martinez
Marc Martinez
12,909 Points

I don't have a flyPrefab box in my Fly Spawner area

In the Inspector where it says Fly Spawner (Script), it doesn't show a flyPrefab box where i can put my fly.

Here is my Script.

[SerializeField]
private GameObject flyPrefab;

[SerializeField]
private int totalFlyMinimum = 12;


private float spawnArea = 25f;

public static int totalFlies;

// Use this for initialization
void Start () {
    totalFlies = 0;

}

// Update is called once per frame
void Update () {

    // while the total number of flies is less than the minimum...
    while (totalFlies < totalFlyMinimum) {

        //... then increment the total number of flies...
        totalFiles++;

        //... Create a random position for a fly
        float positionX = Random.Range(-spawnArea, spawnArea);
        float positionZ = Random.Range(-spawnArea, spawnArea);

        Vector3 flyPosition = new Vector3(positionX, 2f, positionZ);

        //... and create a new fly
        Instantiate(flyPrefab, flyPosition, Quaternion.identity);
}

3 Answers

Alan Mattanó
PLUS
Alan Mattanó
Courses Plus Student 12,188 Points

You are messing a close "}" bracket at the end of the while loop.

Alan Mattanó
PLUS
Alan Mattanó
Courses Plus Student 12,188 Points

Just in case try to close Unity and restart it.

This code is correct [SerializeField] private GameObject flyPrefab;

Are you looking to the correct game Object. Did you attach the script to the inspector?

I type first the public or Serialize variables first. I attache the game object and then I I write the rest of the code.

totalFiles++

Is supposed to be Flies, not files