- 本帖最后由 fernando 于 2012-6-26 18:12 编辑 *
我现在用cocos2d-x做一个农场类的游戏,45度视角,没有用tileMap,现在碰到一个问题如下。农场的土地是一块块拼接在一起,我用CCMenuItemImage实现,这样点击每块土地时我就可以做相应的处理。但是这些 CCMenuItemImage有重叠区域(因为拼接) ,导致我点击上一块(上下相对y坐标)土地时,实际是下面的一块收到了这个点击。如下图所示,红色的点应该是上面的地块1的范围,但实际却是地块2收到了点击。
297
上面的地块的zOrder从下往上递减,我修改了CCMenu::ItemForTouch() 函数,使它返回zOrder最大的那个item。所以相当于下面的CCMenuItemImage遮盖了上面的一部分区域。
如何解决这个问题?