handleImmovableCollisions 处理不可推动碰撞
handleImmovableCollisions
类型: MethodDeclaration
所属类: ActorCollider
定义位置: actor.ts
描述
处理不可推动碰撞
返回值
类型: void
源代码
位置: 第 1442 行
public handleImmovableCollisions(): void {
    const self = this.actor
    const ox = self.x
    const oy = self.y
    const half = this.half
    const expansion = Scene.binding!.maxColliderHalf
    // 获取探测范围所在的角色区间列表
    const cells = Scene.actor.partition.get(
      ox - half - expansion,
      oy - half - expansion,
      ox + half + expansion,
      oy + half + expansion,
    )
    const count = cells.count
    // 查找所有角色区间
    for (let i = 0; i < count; i++) {
      const actors = cells[i]!
      const length = actors.length
      // 查找区间中的所有角色
      for (let i = 0; i < length; i++) {
        const actor = actors[i] as Actor
        if (actor !== self && actor.collider.immovable) {
          ActorCollider.handleCollisionBetweenTwoActors(self, actor, 1)
        }
      }
    }
  }
文档生成时间:2025/7/21 20:53:38