collisionFilters.setupFilters()

类型 函数
返回值
修订 版本 2024.3703
关键词 物理, 碰撞, 过滤器, setupFilters
另请参阅 collisionFilters.getFilter()
collisionFilters.viewAllFilters()

概述

使用便捷的人类可读的字符串来创建碰撞过滤器关联,以指示哪些对象类别可以与其他对象类别发生碰撞。

此函数不返回任何值;它只是设置过滤器并提醒配置中的任何错误。

语法

collisionFilters.setupFilters( filterTable )
filterTable (必填)

一个键值对的表,用于定义碰撞过滤器,遵循以下方法

  • 表中的每个**键**都必须是唯一的,它应该代表将使用它的对象的一般类别。例如,`player`、`enemies` 或 `powerUps`。

  • 键的**值**可以是单个字符串**或**字符串数组。无论哪种情况,指定的字符串都应与键类别将要屏蔽的其他一般类别匹配。

示例

local collisionFilters = require( "plugin.collisionFilters" )

-- Set up collision filter relationship
-- This example creates 4 collision categories ("player", "enemies", "powerUps", "playerBullets")
collisionFilters.setupFilters(
{
    player = { "enemies", "powerUps" },  -- Objects with "player" filter will collide with "enemies" + "powerUps"
    enemies = "playerBullets",           -- Objects with "enemies" filter will collide with "playerBullets"
})

请注意,即使只有两个键值对在此示例中定义,碰撞过滤器插件有效地创建了**四个**碰撞类别。这是因为插件会自动处理键**和**关联值(字符串),直观地关联过滤器关系,而无需您指定手动过滤器设置中所需的“反向关联”。