Hat Trick Game Tutorial: Balls are not Spawning...
Hi all,
I am working through the "Hat Trick" 2D Tutorial, and I am stuck on the GameController/Random ball spawning part. My code seems to mirror the tutorial exactly, but my balls aren't spawning. No compiler errors, so I'm kind of at a loss... I noticed there are parts of code in the Tutorial that are now deprecated, but it hasn't thrown an error for that either. Code posted below, thanks for the help:
using UnityEngine;
using System.Collections;
public class GameController : MonoBehaviour {
public Camera cam;
public GameObject ball;
public float timeLeft;
private float maxWidth;
// Use this for initialization
void Start(){
if (cam == null){
cam = Camera.main;
}
Vector3 upperCorner = new Vector3(Screen.width, Screen.height, 0.0f);
Vector3 targetWidth = cam.ScreenToWorldPoint(upperCorner);
float ballWidth = GetComponent<Renderer>().bounds.extents.x;
maxWidth = targetWidth.x - ballWidth;
StartCoroutine(Spawn());
}
void FixedUpdate() {
timeLeft -= Time.deltaTime;
}
IEnumerator Spawn ()
{
yield return new WaitForSeconds(1.0f);
while (timeLeft > 0)
{
Vector3 spawnPosition = new Vector3(Random.Range(-maxWidth, maxWidth), transform.position.y, 0.0f);
Quaternion spawnRotation = Quaternion.identity;
Instantiate(ball, spawnPosition, spawnRotation);
yield return new WaitForSeconds(Random.Range(1.0f, 2.0f));
}
}
}
I found that if I simply add a Sprite Render component to the object holding my GameController, it now works... But that's not in the tutorial at all. I'm confused as to what part of the code now requires that, or if I just did something really backwards.
You just need to add ball. to the line float and it will work. This is what I did.
float ballWidth = ball.GetComponent().bounds.extents.x
Answer by tormentoarmagedoom · Mar 14, 2018 at 09:26 AM
Good day.
It seems the GameObject to be instantiated is not assigned correctly. Maybe you should load the prefab via scripting with Resources.Load as GameObject.
Your answer
![](https://koobas.hobune.stream/wayback/20220612091153im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
applying visual wheels according to position left/right 2 Answers
Tutorial level 1 Answer
Is this true? 1 Answer
Pick up Objects using Google Daydream Controller 2 Answers
Freeze A Value 0 Answers