An enemy is spawned after trigger is activated, he then rushes towards the player and the camera focuses its gaze on it. After destroying everything works fine, except the **GameObject** (which is deleted in the editor) is still glitching around upon my player...
Also, I'm getting a **Refrence error** although the camera stuff is working fine :
NullReferenceException: Object reference not set to an instance of an object
ForceGaze.SetCam () (at Assets/Scripts/ForceGaze.js:10)
ForceGaze.Update () (at Assets/Scripts/ForceGaze.js:19)
And here's my code where I guess something has to be wrong...any ideas? :) All done in **Javascript** btw.
ForceGaze.js:
var camLookAt : Transform;
var cameraUsed : Camera;
var Haunt : GameObject;
function SetCam()
{
if(PlayerSpawnTrigger.spawning == true)
{
camLookAt.position = GameObject.FindWithTag("Haunt").transform.position;
}
}
function Update()
{
SetCam();
if (GazeChecker.ForceGaze == true)
{
cameraUsed.transform.LookAt (camLookAt);
}
}
HauntSpawner.js:
var Player : Transform;
var spawnSound: AudioClip;
var MinSpawnPos : float = 5;
var MaxSpawnPos : float = 25;
var EnemyPrefab : GameObject;
var MinEnemies : int = 1;
var MaxEnemies : int = 1;
var HowManyToSpawn : int = 1;
static var functionActivated = false;
function Update()
{
///Spawn enemy on Trigger///
if(PlayerSpawnTrigger.spawning == true && functionActivated == false)
{
Spawn();
}
}
function Spawn()
{
var dist : float = Vector3.Distance(Player.position,transform.position);
if(PlayerSpawnTrigger.spawning == true)
{
GetComponent.().PlayOneShot(spawnSound);
var position: Vector3 = Vector3(Random.Range(MinSpawnPos, MaxSpawnPos), 3.2006, Random.Range(MinSpawnPos, MaxSpawnPos));
HowManyToSpawn = 1;
for(var i = 0; i < HowManyToSpawn; i++)
{
HauntClone = Instantiate (EnemyPrefab,position,Quaternion.identity);
HauntClone.tag = "Haunt";
}
functionActivated = true;
}
}
HauntMoving.js:
var Player : Transform;
var MoveSpeed = 4;
var MinDist = 1;
var MaxDist = 15;
function Update()
{
///Moves toward Player////
transform.LookAt (Player.position);
var dist = Vector3.Distance(transform.position,Player.position);
if(dist <= MaxDist)
{
transform.position += transform.forward * MoveSpeed*Time.deltaTime;
}
if(dist <= MinDist)
{
Destroy(GameObject.FindWithTag("Haunt"));
PlayerSpawnTrigger.spawning = false;
}
if(PlayerSpawnTrigger.LeftTriggerZone == true)
{
Destroy(GameObject.FindWithTag("Haunt"));
}
}
Thanks you for any help!
↧