类型 函数 返回值 表 修订 版本 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, ", " ) )