首页 > 其他 > 详细

Digital Tutors - Creating an Action Adventure Puzzle in Unity学习笔记

时间:2014-04-11 08:42:23      阅读:486      评论:0      收藏:0      [点我收藏+]

遇到的问题:

1 第11节Scripting the pressure plates中需要获取子物体的Animator组件,教程使用的语句如下:

”SwitchAnim = GetComponentInChildren<Animator>();“

经测试,无法获取,产生了 “Animator has not been initialized”的警告

解决方法:直接查询子物体,然后在获取子物体的组件

“SwitchAnim = gameObject.transform.GetChild(0).GetComponent<Animator>();”

原因:不明确,可能操作顺序上有问题,也有可能是版本问题,并且官方文档也保留着该函数的说明。教程是今年的,应该使用的也是Unity3D 4.x的版本。

收获:解决方法也是极好的,能有针对性的查询指定的子物体,避免不必要的开销和失误。

2 定义了GameObject对象的数组,如果没有元素个数需要在GUI中设定,并且如果需要指定特定GameObject的时候,需要在操作界面中拖拽绑定。截图如下:

bubuko.com,布布扣

3 关于Unity中获取多个GameObject的顺序,应该是按创建时间,最后创建的在第一个,以此类推,我的代码如下

Switches = GameObject.FindGameObjectsWithTag("SwitchSet");
Switch_A = Switches[0].GetComponent<Switch>();
Switch_B = Switches[1].GetComponent<Switch>();
Switch_C = Switches[2].GetComponent<Switch>();
Switch_D= Switches[3].GetComponent<Switch>();

这里的Switch即对应教程中使用的plate。获取后的顺序如下图:
bubuko.com,布布扣

总结:

整部教程的主要内容其实就是如下几点:

1 构建动画,在脚本中获取带有动画的GameObject,然后通过设置Animator的一个状态转换的布尔变量来启动动画。

2 在运行时修改物体的子父级关系,根据需要获取transform节点下的position或者rotation,甚至是scale;最后需要将其parent的属性修改成为父物体的transform节点;这个有点像maya里的子父级关系调整,都是在transform节点下进行操作的(大部分三维场景管理器基本都是使用这个概念的,诸如OGRE,Maya等)

 3 解密类游戏的基本游戏逻辑结构,需要达到满足的若干个条件,然后才会继续。。。

 

Digital Tutors - Creating an Action Adventure Puzzle in Unity学习笔记,布布扣,bubuko.com

Digital Tutors - Creating an Action Adventure Puzzle in Unity学习笔记

原文:http://www.cnblogs.com/nodegetout/p/3656737.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!