初识Unity代码报错/问题与解决方案个人经验一览

       初次接触Unity,我选择了以跟书(Unity移动游戏开发 --【澳】乔恩.曼宁  帕里斯.巴特菲尔德-艾迪生 著)做项目“地精寻宝”为熟悉软件功能的开始,这也是我初次在网络上以博客的形式记录下自己的学习心得,在此记录下我遇到的一些报错问题和最终解决的办法,帮助更多初学者,也为我以后的问题解决提供思路。

  1.  对于 “Object reference not set to an instance of an object” 错误: - 含义:未将对象引用设置到对象的实例,即尝试访问空对象的成员或属性。 - 成因:未初始化变量、调用返回 `null` 的方法或属性并操作、访问对象属性或方法时对象为 `null` 。 - 解决:检查代码找出为空对象并初始化,使用条件语句或空值合并运算符确保对象不为空,或使用 `try-catch` 处理错误。 
  2. 对于 “Cannot implicitly convert type 'SpriteSwapper' to 'UnityEngine.Sprite'” 错误: - 含义:不允许的隐式类型转换,`SpriteSwapper` 类型不能自动转换为 `UnityEngine.Sprite` 类型。 - 成因:两种类型无直接关联或兼容性,尝试了不合法的自动转换。 - 解决:明确进行类型转换,如通过类中的获取方法、显式类型转换,但显式转换要注意可能的运行时异常。
  3. 对于特定的 类中方法的 `NullReferenceException` : - 含义:在该方法中尝试访问未初始化或为空的对象。 - 成因:可能是该对象为空。 - 解决:检查调用该方法前该对象的初始化和赋值,以及相关创建或更新代码确保其正确设置。
  4. foreach statement cannot operate on variables of type 'Resettable' because 'Resettable' does not contain a public instance or extension definition for 'GetEnumerator'”: - 成因:`Resettable`类未定义`GetEnumerator`方法,无法进行`foreach`循环遍历。 - 解决办法:让`Resettable`类实现`IEnumerable`接口并添加`GetEnumerator`方法的实现。 
  5. UnassignedReferenceException: The variable connectedObject of Rope has not been assigned. You probably need to assign the connectedObject variable of the Rope script in the inspector.”: - 成因:`Rope`脚本中的`connectedObject`变量未被赋值。 - 解决办法:在 Unity 编辑器的 Inspector 面板中为其赋值,或在代码中合适的位置进行初始化。

       另外,由于该书所提供的资源并不完全且不方便理解,如果有在做这个项目或者类似游戏的,我把项目的main scene绑定在了这篇文章,有问题的可以以此作为参考或者问我。

       本文为个人心得记录分享,并非权威内容。

  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值