Hello.
I have a question. I created object by “Object.Instantiate” in Script asigned to Object1. In that script i added
localPlayer.AddComponent();
localPlayer.AddComponent ();
In PlayerController i have:
using UnityEngine;
using System.Collections;
public class PlayerController : MonoBehaviour {
public float speed;
private Vector3 position;
CharacterController controller = GetComponent<CharacterController>();
//do inicjalizacji
void Start() {
position = transform.position;
}
//Wywoływane raz co klatke
void Update () {
if(Input.GetMouseButton(0))
{
//Lokalizuje gdzie kliknięto w teren
locatePosition();
}
//Porusz sie do pozycji
moveToPosition ();
}
void locatePosition()
{
RaycastHit hit;
Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
if(Physics.Raycast(ray, out hit,1000))
{
position = new Vector3(hit.point.x, hit.point.y, hit.point.z);
}
Debug.Log (position);
}
void moveToPosition()
{
//if (Vector3.Distance (transform.position, position) > 1) {
Quaternion newRotation = Quaternion.LookRotation (position - transform.position);
newRotation.x = 0f;
newRotation.z = 0f;
transform.rotation = Quaternion.Slerp (transform.rotation, newRotation, Time.deltaTime * 10);
controller.SimpleMove (transform.forward * speed);
// }
//
}
}
I get a error : “error CS0236: A field initializer cannot reference the nonstatic field, method, or property `UnityEngine.Component.GetComponent(System.Type)'” What i can do to repair it?
Sorry for my english.