0

我有一个大小480x800像素的图像,一个角落有一个我需要放置的图标。我想要的是忽略透明区域上的所有触摸并仅检测图标所在的区域。我在 SO中找到了解决这个问题的方法,但它只是告诉了要使用的代码。我需要确切地知道该代码的放置位置,因为我是初学者并且对 cocos2d 了解不多,所以我希望逐步解决。

Cocos2d 2.0 - 忽略对图层/精灵透明区域的触摸

4

1 回答 1

0

请勿使用glReadPixels,因为它受 android 驱动程序中的错误影响。您可以使用 将 CCTouch 转换为图像坐标中的 CCPoint convertTouchToNodeSpace,并在给定点读取图像像素。

从包含半透明图片的文件中创建CCImage,并在点击点读取一个像素;透明区域应该是 {0,0,0,0}。

不要忘记检查水龙头是否不在图片之外,并CCImage::getData()使用公式在数组中创建像素索引unsigned index = x * imageWidth + y

于 2013-07-11T05:41:49.403 回答