Hi
I have been trying to learn more about arrays and how they work, I created an array of books as type GameObject and have Instantiated them in the Game window, It is my intention for the book to animate open when I click it with the mouse, However when I try to click on one of the books with the mouse I get the error “MissingComponetException” there is no Animation attached to the GameObject, I have also noticed the the Debug raycast line always points to the same location in the scene no what matter where I click the mouse in the Game window, could it be that the raycast isn’t detecting I have clicked one of the books?
Any advice would be appreciated
thanks
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class BookGame : MonoBehaviour
{
public GameObject[] books;
public float gridX = 5;
public float gridY = 5f;
public float spacing = 2f;
private Ray ray;
private RaycastHit hit;
// Use this for initialization
void Start ()
{
for (int y = 0; y < gridY; y++)
{
for (int x = 0; x < gridX; x++)
{
//Vector3 pos = new Vector3(x, 0, y) * spacing;
int amount = Random.Range(0, books.Length);
Instantiate(books[amount], new Vector3(y * 2 * books[amount].transform.localScale.x * spacing, 10, x * 2 * books[amount].transform.localScale.z * spacing), Quaternion.identity);
}
}
}
// Update is called once per frame
void Update ()
{
if (Input.GetMouseButtonDown(0))
{
Debug.Log("Mouse Clicked");
ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (!Physics.Raycast(ray, out hit))
{
Debug.DrawLine(ray.origin, hit.point);
Debug.Log("Check Action");
animation.CrossFade("OpenBook");
}
}
}
}