Events 电晕SDK-触摸透明度问题。物理体上的事件?

Events 电晕SDK-触摸透明度问题。物理体上的事件?,events,lua,touch,coronasdk,transparency,Events,Lua,Touch,Coronasdk,Transparency,新手在这里!:P 我正试图在科罗纳创造一个游戏,让动物从屏幕顶部跌落并不断弹跳。当你触摸动物时,它消失了 我把所有的动物画成了圆圈,然后,我在上面加了一个圆形的物理体。图像是透明的PNG 问题是,动物的一些细节,比如耳朵和爪子,它们在物理身体之外(我想要的是,因为这样看起来更好)。此外,当我触摸动物图像外部时,有时它会被压在我图像的阿尔法区域上,并被视为点击,但我实际上没有点击动物 我想当我只点击它的身体部位时,它就会消失 有人知道怎么处理吗?有没有办法为物理体添加触摸处理程序?(碰撞效果很好,

新手在这里!:P

我正试图在科罗纳创造一个游戏,让动物从屏幕顶部跌落并不断弹跳。当你触摸动物时,它消失了

我把所有的动物画成了圆圈,然后,我在上面加了一个圆形的物理体。图像是透明的PNG

问题是,动物的一些细节,比如耳朵和爪子,它们在物理身体之外(我想要的是,因为这样看起来更好)。此外,当我触摸动物图像外部时,有时它会被压在我图像的阿尔法区域上,并被视为点击,但我实际上没有点击动物

我想当我只点击它的身体部位时,它就会消失

有人知道怎么处理吗?有没有办法为物理体添加触摸处理程序?(碰撞效果很好,只是触摸与图像有关,而不是物理实体)


这是因为矩形图像空间。在打开命中测试选项的情况下,尝试在您的动物objet上使用面罩(true):

以下是一个例子:

local displayGroupTmp = display.newGroup( )
    displayGroupTmp.id = id + 1
    -- creating a slice
    local circleSize = Constants.screenX*3.8/4 - 20
    local background = display.newImageRect( displayGroupTmp, "images/slice.png", circleSize/2, circleSize*1.5/2 )
    background.anchorX = 0
    background.anchorY = 0.66
    background.x = Constants.screenX/2 + deltaX
    background.y = Constants.screenY/2 + deltaY
    background:setFillColor( color[1], color[2], color[3] )
    -- setting mask of an object to identify the true bounding of the background
    local mask = graphics.newMask( "images/sliceMask.png" )
    -- mask.anchorX = 0
    background.maskX = background.x
    background.maskY = background.y
    background:setMask( mask )
    background.maskScaleX, background.maskScaleY = 0.38,0.38
    background.isHitTestMasked = true

@巴德祖斯尼是我的错。我会的
local displayGroupTmp = display.newGroup( )
    displayGroupTmp.id = id + 1
    -- creating a slice
    local circleSize = Constants.screenX*3.8/4 - 20
    local background = display.newImageRect( displayGroupTmp, "images/slice.png", circleSize/2, circleSize*1.5/2 )
    background.anchorX = 0
    background.anchorY = 0.66
    background.x = Constants.screenX/2 + deltaX
    background.y = Constants.screenY/2 + deltaY
    background:setFillColor( color[1], color[2], color[3] )
    -- setting mask of an object to identify the true bounding of the background
    local mask = graphics.newMask( "images/sliceMask.png" )
    -- mask.anchorX = 0
    background.maskX = background.x
    background.maskY = background.y
    background:setMask( mask )
    background.maskScaleX, background.maskScaleY = 0.38,0.38
    background.isHitTestMasked = true