Corona SDK 中的遮罩(Mask)无法工作。

我正在尝试的是让我的图片的一部分显示,而另一部分隐藏。最终我希望显示部分可点击,但我在使用掩膜时遇到了一些问题。

这是我的代码:

streams[0] = widget.newButton
  {
      width = display.contentWidth,
      height = display.contentHeight,
      left = 0,
      top = 0,
      defaultFile = "Images/hydro_screen/hy_screen_river1.png"
  }

  local mask = graphics.newMask( "Images/hydro_screen/hy_screen_river1_mask.png" )
  local xScale = streams[0].width/2400
  local yScale = streams[0].height/1600

  streams[0]:setMask( mask )
  streams[0].maskScaleX = xScale
  streams[0].maskScaleY = yScale
  streams[0].maskX = streams[0].width/2
  streams[0].maskY = stream[0].height/2

我一直在调整参数,但无论我怎么做,我的河流都完全隐藏了。有人有什么建议吗?

这是我正在使用的两个图像。它们的大小都相同。

河流显示在背景之上的图像仅使蓝色河流部分可点击的掩膜

点赞
用户1870706
用户1870706

我认为你的遮罩无效。遮罩必须在四个边缘至少拥有三个黑色像素。参见: http://docs.coronalabs.com/guide/media/imageMask/index.html

你的遮罩不符合要求。顶部和底部边缘沿着边缘有白色像素。这可能导致了你的问题。

2015-02-09 02:11:16