关于Unity中transform类的个人理解

在Unity的书籍中,在讲解脚本之前会解释说,常见的一句是:“组件是模块化的、添加到对象上的功能,脚本也是一类组件“,然后就上代码让我们去进行学习,但是在我个人学习中,我总是理解不了突然出现的transform类。为什么在脚本中,我们可以直接就用"transform.Rotate( , , )"这样的函数。

在多次编写脚本函数以及多次查看Unity手册后,我个人把transform类理解为,transform类是在每个对象生成时自动附加的一个
类。

在Unity的视图中,点击Hierarchy中的对象,就可以在Inspector中可以看到存在Transform的组件。
这里写图片描述

其中有Position(位置)、Rotation(旋转)以及Scale(缩放),而在脚本中类中的方法就是对它们的改变。
而我们也可以在Scene中和Inspector中直接进行设置。

下面通过代码进行更好的理解:
`using UnityEngine;
using System.Collections;

public class spin : MonoBehaviour {
public int speed = 5;
// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {
    transform.Rotate(0,speed,0);
}

}`

这是一个简单的代码,首先这里放一个疑问,为什么要在这个类中设置一个变量speed=5,而不在直接transform.Rotate(0,5,0)呢?(speed可在Inspector中直接查看和修改)

我相信初学者都能看得懂这个代码片。所以我就不解释它的代码作用了,我想要解释的是,在这个代码的中其实它等于我们人为地把Inspector中的Rotation每帧调整Y的值加5是一样的。

其实我就一个初学者,这些都是我根据现象和类作用推导出来的。我知道这肯定有很多错误,希望我以后在更深的学习后能把其中的知识补充完整,当然也希望大神们的指教。献丑了… …

等一下,还有就是那个疑问我还没说。
在刚学Unity的时候,可能是习惯了学校的编程习惯,我就是不明白,为什么脚本上会出现这样的写法,后来我看到了书里面说到这样写首先会防止魔法数字,所谓的魔法数字其实是指在程序中直接出现的数值,只有在看到这个数值使用时才能知道这数值的意思,就好像上面的5,只有出现在.Rotate()中才知道他是用来调整Y的旋转的。但是单单用个5,我们却无法知道是用来干嘛的。当然还有一个作用就是我们都知道的,用作共有的变量就可以在Unity视图上修改它的值,那么脚本可以放到不同的对象上做相应的调整。

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值