Files
2026-05-03 14:06:26 +08:00

44 lines
1.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[相机控制]
今天学习的是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 设计,可以让你很方便地管理一组相关的游戏对象(比如所有的敌人、所有的金币、或者你代码里所有的豆子)。