intersectsNode未检测到交集

 淡定神仙2502891317 发布于 2023-02-09 12:31

我正在使用spriteKit(objective-C)构建一个应用程序,我正在使用intersectsNode来判断玩家绘制的线条是否与游戏板上的字母图块发生碰撞.我的程序中有另一个intersectsNode实例正常工作,但由于某种原因,这个新方案总是返回false.我已经检查了参数,spriteKit说的唯一一件事就是确保它们都是同一棵树的孩子,他们肯定是(自己).一个是SKSpriteNode,另一个是SKShapeNode.

if (directionIsDecided == TRUE) {
    for (letterTile in letterTileArray) {
        if ([letterTile intersectsNode:selectorLine]) {
            [lettersToBeCalculatedForPoints addObject:letterTile];
        }
    }
}

希望我不会忽略一些愚蠢的东西......任何可能导致此功能永远不会返回真实的想法?

*编辑

好吧,我认为这与我如何画线有关.我改变了它,因此它检测到与板上产生的元音碰撞,每个元音都是letterTile的孩子,现在它告诉我所有元音都与selecorLine相撞,即使它没有接触任何元音线.他们.

这就是我创建我的selectorLine的方式:

执行:

    CGMutablePathRef pathToDraw;
    SKShapeNode *selectorLine;

的touchesBegan:

   UITouch* touch = [touches anyObject];
   CGPoint positionInScene = [touch locationInNode:self];

   pathToDraw = CGPathCreateMutable();
   CGPathMoveToPoint(pathToDraw, NULL, positionInScene.x, positionInScene.y);

   selectorLine = [SKShapeNode node];
   selectorLine.path = pathToDraw;
   selectorLine.strokeColor = [SKColor greenColor];
   selectorLine.lineWidth = 10;
   [self addChild:selectorLine];
   selectorLine.zPosition = 101;

TouchesMoved:

    UITouch* touch = [touches anyObject];
    CGPoint positionInScene = [touch locationInNode:self];
    CGPathAddLineToPoint(pathToDraw, NULL, positionInScene.x, positionInScene.y);
    selectorLine.path = pathToDraw;

任何和所有的想法都表示赞赏,谢谢!

1 个回答
  • 我一直在用工作围绕这在我的代码CGRectIntersectsRectSKShapeNode边框交叉.

    使用CGRectIntersectsRect您的代码看起来像:

    if (directionIsDecided == TRUE) {
        for (letterTile in letterTileArray) {
            if (CGRectIntersectsRect(letterTile.frame, selectorLine.frame)) {
                [lettersToBeCalculatedForPoints addObject:letterTile];
            }
        }
    }
    

    2023-02-09 12:34 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有