首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法检测到UItouch

无法检测到UItouch
EN

Stack Overflow用户
提问于 2012-03-31 23:42:12
回答 1查看 87关注 0票数 0

我有一个大的图像(1024,1496)作为我的layer.So的背景图像,我开始显示图像的按钮。在应用程序时,我显示了图像的顶部,以及一些CCSprites。

代码语言:javascript
复制
id move = [CCMoveBy actionWithDuration:2 position:ccp(0,-746)];
[layer runAction:move];

我的问题是,我无法检测到CCSrites上的触摸,因为它们的位置保持不变。(20,1200)和(1024,746)之间的UITouch。

代码语言:javascript
复制
-(void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{

for(UITouch * touch in  [event allTouches]){ 

    for (CCSprite *book in books) {
        CGPoint location = [touch locationInView:touch.view];
        location = [[CCDirector sharedDirector] convertToGL:location];
        if (CGRectContainsPoint([book boundingBox], location)) 
            NSLog(@"Touch");
        else{
             NSLog(@"NO Touch");            }
    }

}

}

你知道怎么解决这个问题吗??

EN

回答 1

Stack Overflow用户

发布于 2012-04-01 23:22:31

只需将精灵触摸转换为世界坐标即可。您可以使用自己的方法执行此操作,方法是根据缩放和精灵大小计算屏幕位置,或者使用Cocos中的方法将其转换为世界坐标。我倾向于选择前者。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9957295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档