首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spritekit / UIBeziers:检测touches / nodeAtPoint

Spritekit / UIBeziers:检测touches / nodeAtPoint
EN

Stack Overflow用户
提问于 2013-10-25 14:22:54
回答 1查看 536关注 0票数 1

我是这样创造我的球员的

代码语言:javascript
复制
UIBezierPath *pPath = [UIBezierPath bezierPathWithArcCenter:CGPointMake(0, 0)
                                                     radius:10
                                                 startAngle:0
                                                   endAngle:DEGREES_TO_RADIANS(360)
                                                  clockwise:YES];
_player = [[SKShapeNode alloc] init];
_player.path = pPath.CGPath;
[_player setFillColor:[UIColor blueColor]];
[_player setStrokeColor:[UIColor clearColor]];
_player.position = arenaCentre;
_player.zPosition = 1;
_player.name = @"player";

然后,我使用以下方法检测到该对象上的触摸:

代码语言:javascript
复制
SKSpriteNode *touchedNode = (SKSpriteNode *)[self nodeAtPoint:touchLocation];

问题是,我的形状太小/太快,有时难以触摸。如何使触摸区域比可见对象更大?

对于这类事情有什么最佳的做法吗?

非常感谢,伊恩

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-25 18:34:37

您可以绘制一个更大的形状(或颜色精灵)作为播放机形状的父级,并使用完全透明的颜色。

然而,这有时会找到父形状,有时会找到实际形状。所以你必须对此进行补偿。

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

https://stackoverflow.com/questions/19592461

复制
相关文章

相似问题

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