【发布时间】:2010-11-07 21:12:04
【问题描述】:
我有一个精灵类,其中包括用于触摸和拖动的触摸侦听器。这一切都很好。
但我最近为我的所有精灵添加了高分辨率图像,并在应用程序委托中启用了视网膜显示支持:
[director setContentScaleFactor:2];
我现在遇到的问题是,当比例因子加倍时,我的精灵类不再检测触摸。我尝试使用这些解决方案无济于事:http://www.cocos2d-iphone.org/forum/topic/10284
在我的精灵类中,我有一个 rect 方法:
- (CGRect)rect
{
CGSize s = [self.texture contentSizeInPixels];
return CGRectMake(-s.width / 2, -s.height / 2, s.width, s.height);
}
然后在我的 containsTouchLocation 方法中:
- (BOOL)containsTouchLocation:(UITouch *)touch
{
return CGRectContainsPoint(self.rect, [self convertTouchToNodeSpaceAR:touch]);
}
当我在这里手动返回 YES 时,一切都按应有的方式工作,因此显然与 CGRect 点有关。
有什么想法吗?我正在使用 Cocos2d 0.99.5
谢谢。
【问题讨论】:
标签: cocos2d-iphone