- Home /
Question by
Ryanvanpolen · Jun 24, 2014 at 11:34 AM ·
javascripterrortower-defensemissingfieldexception
ERROR: Missing field exception?!
Hi guys, I'm busy with making a TDgame... Every time there occurs an error when I'm playing.
Boo.Lang.Runtime.DynamicDispatching.PropertyDispatcherFactory.FindExtension (IEnumerable`1 candidates) Boo.Lang.Runtime.DynamicDispatching.PropertyDispatcherFactory.Create (SetOrGet gos) Boo.Lang.Runtime.DynamicDispatching.PropertyDispatcherFactory.CreateGetter () Boo.Lang.Runtime.RuntimeServices.DoCreatePropGetDispatcher (System.Object target, System.Type type, System.String name) Boo.Lang.Runtime.RuntimeServices.CreatePropGetDispatcher (System.Object target, System.String name) Boo.Lang.Runtime.RuntimeServices+c_ AnonStorey17.<>m_C () Boo.Lang.Runtime.DynamicDispatching.DispatcherCache.Get (Boo.Lang.Runtime.DynamicDispatching.DispatcherKey key, Boo.Lang.Runtime.DynamicDispatching.DispatcherFactory factory) Boo.Lang.Runtime.RuntimeServices.GetDispatcher (System.Object target, System.String cacheKeyName, System.Type[] cacheKeyTypes, Boo.Lang.Runtime.DynamicDispatching.DispatcherFactory factory) Boo.Lang.Runtime.RuntimeServices.GetDispatcher (System.Object target, System.Object[] args, System.String cacheKeyName, Boo.Lang.Runtime.DynamicDispatching.DispatcherFactory factory) Boo.Lang.Runtime.RuntimeServices.GetProperty (System.Object target, System.String name) UnityScript.Lang.UnityRuntimeServices.GetProperty (System.Object target, System.String name) var bullet : GameObject;MissingFieldException: UnityEngine.Vector3.position
//tower objects var frame : GameObject; var barrel : GameObject; var muzzlePositions : Transform[];
//Tower reload var reloadTime : float; var firePauseTime : float = 0.5f; private var nextFireTime : float; private var nextMoveTime : float;
//rest var building : boolean = false; //true while building var shootSound : AudioClip;
//positions en rotations var rotationSpeed : int; private var myTarget : Transform; private var horizontalRotation : Quaternion; private var verticalRotation : Quaternion;
function FixedUpdate () {
if (!building) { if (myTarget) { if (Time.time >= nextMoveTime) { Aim(myTarget.position); }
if (Time.time >= nextFireTime) { Fire(); } } }
}
function OnTriggerEnter (other : Collider) {
if (other.tag == "enemy") { myTarget = other.gameObject.transform; nextFireTime = Time.time + reloadTime; }
}
function OnTriggerExit (other : Collider) {
if (other.gameObject.transform == myTarget) { myTarget = null; }
}
function Aim (targetPosition : Vector3) {
horizontalRotation = Quaternion.LookRotation(Vector3(targetPosition.position.x, 0, targetPosition.position.z)); verticalRotation = Quaternion.LookRotation(Vector3(0, targetPosition.position.y, 0));
frame.rotation = Quaternion.Lerp(frame.rotation, horizontalRotation, Time.deltaTime rotationSpeed); barrel.rotation = Quaternion.Lerp(barrel.rotation, verticalRotation, Time.deltaTime rotationSpeed);
}
function Fire () {
//audio.Play(shootSound); <- this won't work because 'no apropiate version' nextFireTime = Time.time + reloadTime; nextMoveTime = Time.time + firePauseTime;
for (muzzles in muzzlePositions) { Instantiate(bullet, muzzles.position, muzzles.rotation); }
} Thank you!
Comment
Answer by Denvery · Jun 24, 2014 at 11:37 AM
Please see doc for Vector3: http://docs.unity3d.com/ScriptReference/Vector3.html There is not field named "position". And you use targetPosition.position I think this causes the exception.
Your answer
Follow this Question
Related Questions
ERROR: missing field exception 1 Answer
Can someone help me fix my Javascript for Flickering Light? 6 Answers
Setting Scroll View Width GUILayout 1 Answer
Scripting error #2! 2 Answers
Loading next level, but next level never gets incremented. 3 Answers