类型 函数 返回值 表 修订 版本 2024.3703 关键词 物理, 碰撞, 过滤器, getFilter 另请参阅 collisionFilters.setupFilters() collisionFilters.viewAllFilters()
仅使用有效的 filterName 调用此函数将返回一个表,该表应该作为 physics.addBody() 函数的 filter 参数被引用,用于将过滤器与对象关联。
或者,将 humanReadableFormat 设置为 true 调用此函数,将返回一个包含所有相应掩码类别名称的表,以便清晰地理解过滤器的内容。
collisionFilters.getFilter( filterName [, humanReadableFormat] )
字符串。一个有效的过滤器名称,先前已使用 collisionFilters.setupFilters() 定义。
布尔值。如果设置为 true,则返回值将是一个包含所有相应掩码类别名称的表,以便清晰地理解过滤器的内容。此表不能在 physics.addBody() 函数中使用 — 它的主要用途是检查过滤器的关系。
local collisionFilters = require( "plugin.collisionFilters" )
collisionFilters.setupFilters(
{
player = { "enemies", "powerUps" },
enemies = "playerBullets",
})
-- Create the player object
local thisPlayer = display.newImageRect( "player.png", 64, 64 )
thisPlayer.x, thisPlayer.y = 100, 100
-- Add a physics body using the player filter
local playerFilter = collisionFilters.getFilter( "player" )
physics.addBody( thisPlayer, "dynamic", { filter=playerFilter } )
local collisionFilters = require( "plugin.collisionFilters" )
collisionFilters.setupFilters(
{
player = { "enemies", "powerUps" },
enemies = "playerBullets",
})
-- Display the player filter in an understandable format
local playerFilter = collisionFilters.getFilter( "player", true )
print( "'player' is set to collide with: " .. table.concat( playerFilter, ", " ) )