口罩在模拟器上工作但在设备上不工作。

问题的标题说的很清楚。我有一堆附在一些图片上的口罩。模拟器上的口罩工作正常,但是当我部署到平板电脑上时,我的图像消失了,因为它们被口罩覆盖了。我的口罩比例可能有问题,但是我无论如何都无法修复它。

local maskFileArray = {}
maskFileArray[0] = "Images/hydro_screen/hy_screen_river1_mask.png"
maskFileArray[1] = "Images/hydro_screen/hy_screen_river2_mask.png"
maskFileArray[2] = "Images/hydro_screen/hy_screen_river3_mask.png"
maskFileArray[3] = "Images/hydro_screen/hy_screen_river4_mask.png"
maskFileArray[4] = "Images/hydro_screen/hy_screen_river5_mask.png"
maskFileArray[5] = "Images/hydro_screen/hy_screen_river6_mask.png"

local defaultFileArray = {}
  defaultFileArray[0] = "Images/hydro_screen/hy_screen_river1.png"
  defaultFileArray[1] = "Images/hydro_screen/hy_screen_river2.png"
  defaultFileArray[2] = "Images/hydro_screen/hy_screen_river3.png"
  defaultFileArray[3] = "Images/hydro_screen/hy_screen_river4.png"
  defaultFileArray[4] = "Images/hydro_screen/hy_screen_river5.png"
  defaultFileArray[5] = "Images/hydro_screen/hy_screen_river6.png"

for x = 0, 5, 1 do

      streams[x] = widget.newButton
      {
          width = display.contentWidth,
          height = display.contentHeight,
          left = 0,
          top = 0,
          defaultFile = defaultFileArray[x],
          onEvent   = function(event) return dam(x + 0,event) end,

      }
      streams[x].anchorY, streams[x].anchorX = 0,0
      streams[x].x = 0
      streams[x].y = 0

      local mask = graphics.newMask( maskFileArray[x] )
      local xScale = streams[x].width/2400
      local yScale = streams[x].height/1600

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

      sceneGroup:insert(streams[x])
end

我在程序的其他部分中使用相同的算法处理口罩,它们在设备上表现良好。当我说算法时,我是说将宽度和高度除以2以及比例缩放策略。我不知道这里有什么问题。

在这个部分不同的是,我的文件比其他部分要大得多。我已经为你提供了第一个河流和口罩。使它们这么大可以使我将图片的尺寸设置为屏幕尺寸,从而消除定位问题。

有人可以帮帮我吗?? ! [应该可以点击的河流](https://i.stack.imgur.com/DKKjT.png)

![使河流的蓝色部分可点击的遮罩](https://i.stack.imgur.com/DN2JL.png)

点赞
用户2653067
用户2653067

如果在模拟器上能够工作但在设备上不能运行,可能的一般原因可能是:

  1. 首先检查文件和文件夹的名称,是大写字母还是小写字母。一般情况下模拟器不会关心它是否是小写字母或大写字母。

这可能是可能的问题。

谢谢,KumarKS

2015-02-19 06:02:34