当我在下面给出一个单独的脚本时,我会面对一个新的学习者,请告诉我如何修复它。
MissingFieldException:UnityEngine.Transform.Position Boo.Lang.Runtime.DynamicDispatching.PropertyDispatcherFactory.FindExtension(IEnumerable`1候选人) Boo.Lang.Runtime.DynamicDispatching.PropertyDispatcherFactory.Create(SetOrGet gos) Boo.Lang.Runtime.DynamicDispatching.PropertyDispatcherFactory.CreateSetter() Boo.Lang.Runtime.RuntimeServices.DoCreatePropSetDispatcher(System.Object目标,System.Type类型,System.String名称,System.Object值) Boo.Lang.Runtime.RuntimeServices.CreatePropSetDispatcher(System.Object目标,System.String名称,System.Object值) Boo.Lang.Runtime.RuntimeServices + c__AnonStorey19。<> m__F() 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.SetProperty(System.Object目标,System.String名称,System.Object值) 拿起.OnMouseDown()(在Assets / scripts / pick up.js:8) UnityEngine.SendMouseEvents:DoSendMouseEvents(Int32)已
答案 0 :(得分:0)
位置应写成小写" p"。 类通常首先用大写写成(例如,Transform,Vector3,GameObject)。类包含对象的定义,但没有值。
类实例,如" transform.position"一般都是小写的第一个字母。它们拥有物体的真实价值。这是您更改位置,旋转对象,更改材料等的地方。
我的猜测:在你的" pick up.js"中,看看你是否试图调用实例" Transform.Position"并将其重命名为" transform.position"。