初始化obs/Unity仓库
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
[相机控制]
|
||||
今天学习的是MMO的15节课摄像机
|
||||
通过多层结构控制摄像机的移动缩放,并且适配安卓平台的手指旋转缩放
|
||||
### 第三人称相机控制
|
||||
在新版本基本上是使用cinemamachine来控制相机的移动,在15年的时候并没有这个插件,因此教程使用多层结构来手搓了一个第三人称相机控制器
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
### Transform的一些知识
|
||||
|
||||
当你在一个 `Transform` 对象上使用 `foreach` 循环时,你实际上是在遍历它在场景层级 (Hierarchy) 中的所有**子对象 (child objects)**。
|
||||
|
||||
可以把 `pellets` 这个 `Transform` 想象成一个父容器,它下面可以挂载很多子物体。`foreach` 循环会逐一访问它的每一个子物体。
|
||||
|
||||
**在你的代码中:**
|
||||
|
||||
C#
|
||||
|
||||
```
|
||||
public Transform pellets; // 你会在Inspector中把一个父物体(比如一个空对象)拖到这里,这个父物体下包含了所有的豆子。
|
||||
|
||||
// ...
|
||||
|
||||
public void NewRound()
|
||||
{
|
||||
// 这个循环会遍历 'pellets' 这个Transform下的每一个子物体的Transform组件
|
||||
foreach (Transform pellet in pellets)
|
||||
{
|
||||
// 'pellet' 在每次循环中,都是一个子物体的 Transform
|
||||
// 比如,你可以在这里重新激活每一个豆子
|
||||
pellet.gameObject.SetActive(true);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**总结一下:**
|
||||
|
||||
- **不是数组**:`pellets` 是单个 `Transform` 组件。
|
||||
- **可以遍历**:因为它被设计成可以像集合一样,让你能方便地访问其所有的子物体。
|
||||
- **遍历内容**:循环遍历的是它所有子物体的 `Transform`。
|
||||
|
||||
这是一个非常有用的 Unity 设计,可以让你很方便地管理一组相关的游戏对象(比如所有的敌人、所有的金币、或者你代码里所有的豆子)。
|
||||
Reference in New Issue
Block a user