我是否可以解释为什么Quaternion.identity具有大写字母Q,而transform.position是小写T?是因为他们使用了不同的指令还是程序集?
private void Fire()
{
GameObject enemyLaser = Instantiate
(enemyLaserPrefab, transform.position,
Quaternion.identity)
as GameObject;
}
这是Unity3d的命名约定。类型Quaternion
为大写。但是他们将“驼峰式保护套”用于属性和字段。因此,没有大写的identity
。
这是完全任意的,但在整个Unity3d API中都是一致的。
请注意,因为identity
是静态成员,所以可以通过声明它的类型(Quaternion
)访问它。您正在查看的其他成员transform
和position
都是当前类的成员。 transform
属性返回当前对象的变换对象,position
属性返回该变换对象的位置对象。因为它们都是类成员,而不是类型名,所以它们也是驼峰式的。
因为Quaternion
引用type,因为Quaternion
是idendity
,而idendity
引用类型static
的instance属性,该属性附加到与脚本相同的transform
。
出于某种原因,Unity对属性使用camelCase表示法。通常,您实际上将PascalCase用于transform
属性,但这些是“约定”,基本上,您可以决定使用其他表示法-至少它们使它保持一致。