Ios6 重叠的ccsprites不响应触摸事件,尽管z顺序更大
CCBigSprite和CCSmallSprite类继承自CCSprite。Ios6 重叠的ccsprites不响应触摸事件,尽管z顺序更大,ios6,cocos2d-iphone,ccsprite,overlapping,Ios6,Cocos2d Iphone,Ccsprite,Overlapping,CCBigSprite和CCSmallSprite类继承自CCSprite。 spr1、spr2是它们的实例。 从协议CCTargetedTouchDelegate重写的所有ccTouchesStart、ccTouchesMove、ccTouchesEnd方法 两个班都有 问题:在正常情况下,触摸事件按预期工作,适用于任何精灵实例, 直到精灵重叠。 如果触摸(CCSmallSprite*spr2),则触摸事件适用于(CCBigSprite*spr1) 因为此处存在重叠问题,且精确位置如图所示。
spr1、spr2是它们的实例。
从协议CCTargetedTouchDelegate重写的所有ccTouchesStart、ccTouchesMove、ccTouchesEnd方法 两个班都有 问题:在正常情况下,触摸事件按预期工作,适用于任何精灵实例, 直到精灵重叠。
如果触摸(CCSmallSprite*spr2),则触摸事件适用于(CCBigSprite*spr1) 因为此处存在重叠问题,且精确位置如图所示。
当我按下spr2时,它的触摸事件应该可以工作,而不是sp1。 我如何解决这个致命的问题 这两个类具有相同的重写方法:
-(void)onEnter {
[super onEnter];
[[[CCDirector sharedDirector]touchDispatcher]addTargetedDelegate:self
priority:self.touchPriority swallowsTouches:YES];
}
这有意义吗
另外:设置优先级没有改变任何事情 我正在手动更改。
[spr2 setTouchPriority:1];[spr1 setTouchPriority:2]//低意味着最高优先级 反之亦然。 没有帮助
这应该是cocos2d iphone 2.0稳定版问题?绘图顺序不会影响触摸事件的顺序
如果点击上图中的小精灵,则只有精灵在CCTouchDispatcher中注册的顺序决定小精灵还是大精灵接收第一次触摸事件。燕子触摸:无工作。这很奇怪。如果是的话,它应该会起作用。但是不工作-(void)onEnter{[super onEnter];[[CCDirector sharedDirector]touchDispatcher]addTargetedElegate:self-priority:self.touchPriority吞咽接触:NO];}