关注

太空射击项目中遇到的问题

问题 

  • 当在学习太空射击教程时,遇到了几个问题。 这里列举了一些并提供了解决方案:

 Issue 1

  • 适用旋转脚本的小星星不旋转

Issue 2

  • 边界工作不正常。

Issue 3

  • 为了发射子弹,要写Input.GetButton(“Fire1”)。

Issue 4

  • 我按照教程做了太空船,背景和灯光。 我按照要求做了移动太空船的脚本,并测试了这个脚本。 太空船可以移动,但在移动一定距离后,它返回到其起始位置,并且不能移动。

Issue 5

  • UnassignedReferenceException:游戏控制器的变量scoreText未被分配。 需要在检视面板中分配GameController脚本的scoreText变量。

Issue 6

  • 游戏对象从场景中删除了,但并没有从层级视图中删除。

Issue 7

  • 在构建Web播放器时,“内容已停止,因为检测到一个致命内容错误”。

Issue 8

  • 每当我进入播放模式时,Unity就卡死了。 

原因

Issue 1

  • 没有考虑到Unity在脚本中是时区分大小写的,写Unity API函数时首字母字母没有大些或者输入有误,或者忘了分号等(例如,Start函数的首字母写成了’s'而不是大写字母'S', 或写onTriggerExit首字母'o'没大写)

Issue 2

  • 边界框不够高; 子弹的起始位置没在框内。

Issue 3

  • 不知道“Fire1”按键在哪或者是哪个按键。

Issue 4

  • 您忘记更改边界值了。

Issue 5

  • 您使用的是旧版组件(如GUIText)。

Issue 6

  • 没用Destroy删除对象,或者collider添加错误(collider位于子对象而不是父对象)

Issue 7

  • 在项目设置的图形部分中,只有一个着色器(漫反射),同时还需要具有“UI/Default”和“UI/Default Fon”着色器。

Issue 8

  • 出现死循环。

解决方案

Issue 1

  • 修正大小写的问题或拼写错误。 (例如,用大写'S'写Start函数,使用大写'O'写OnTriggerExit)

Issue 2

  • 在需要缩放的方向(例如“Y”方向)缩放框以纠正错误。

Issue 3

  • “Fire1”是Unity中的预设配置,用于引用发射的按钮。 换句话说,默认情况下,Unity已经将此字符串映射到某些按键上。 请到Edit->Project Settings ->Input中查看输入有关的预设配置。

Issue 4

  • 在检视面板中重置边界。

Issue 5

  • 将属性声明从GUIText scoreText更改为Text scoreText。 在Start函数中添加一行代码以引用此文本元素:scoreText = GetComponent <Text>()。 如果稍后得到一个错误,提示没有为文本设置对象,那么就删除Start函数中的最后添加的这一行。

Issue 6

  • 将collider从子对象移动到父对象。

Issue 7

  • 点选到Edit -> Project Settings -> Graphics,手动添加“UI/Default”和“UI/Default Font”着色器或单击齿轮图标并“reset”同样可以添加这些着色器。

Issue 8

  • 查找While(true)循环,或任何其他可以无限迭代的循环,并修复它。

更多信息

请参阅以下链接:

http://docs.unity3d.com/Manual/ConventionalGameInput.html

http://docs.unity3d.com/Manual/class-InputManager.html

http://docs.unity3d.com/ScriptReference/Input.html

http://stackoverflow.com/questions/27912745/unity-webplayer-crashes-with-ui-text-new-canvas-text

本文适用于Unity 5.x版本

这篇文章有帮助吗?
0 人中有 0 人觉得有帮助
还有其它问题?提交请求

0 评论

登录写评论。