问题标签 [cgpathref]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
176 浏览

ios - SKShapeNode 和 CGPathRef EXC_BAD_ACCESS

我正在尝试沿路径动态绘制曲线以表示山脉。

我有一个返回 a 的函数CGPathRef,它是一个指向结构的 C 指针。

然后我CGPathRefs通过将它们包装在一个UIBezierPath.

然后我获取返回的路径数组并使用SKShapeNode.

最后。

在我重复这个动作序列几次后,我的程序中断并显示给我。

带有 EXC_BAD_ACCESS 代码 = 2 的 UIApplicationMain。

我知道有内存泄漏。

CGPathRef我的问题是,当我最终将它传递给几个函数并将它包装在另一个类中时,我该如何处理?

我更新了代码,现在收到 EXC_I386_GPFLT 错误。

0 投票
1 回答
676 浏览

swift - 在 Swift 2.0 中使用 MKCircle 检测 CGPathContainsPoint

我正在尝试检测地图注释是否在 MKCircle 内。我不知疲倦地浏览了互联网,几乎没有找到关于 Swift 2.0 的可靠教程。所有教程或 Stack Overflow 问题都使用不推荐使用的代码或 Objective-C 来回答。不幸的是,我对 Swift 很陌生,所以翻译答案有点困难。

到目前为止我所拥有的:

到目前为止,我已经用 MKCircle 声明了一个圆圈,看起来像,

我最终想使用 CGPathContainsPoint 来检测注释是否在这个圆圈内。CGPathContainsPoint 的定义看起来像,

其中,
路径 - 对照
m 检查点的路径 - 仿射变换(不确定这样做的目的,但大多数问题已将此参数设置为 nil)
点 - 有问题的点
eoFill - 使用奇偶填充(真或假,再次不确定,但大多数问题已设置为假)

我的问题:如何转换或翻译我的 MKCircle,使其表现为 CGPath,以便将其传递到 CGPathContainsPoint 并将我的 CLLocationCoordinate2D 转换为 CGPoint?

0 投票
1 回答
34 浏览

sprite-kit - SKSprite 未定位在应有的位置

我在游戏中有一个角色,它应该会发射子弹。我已经为角色设置了所有内容,并设置了子弹穿过的路径。这是我正在使用的代码:

这是我从上面使用的 NSLogs 中得到的:

我的位置:{122.58448028564453, 109.20420074462891}

nozloc: {145.24272155761719, 77.654090881347656}

子弹位置:{145.24272155761719, 77.654090881347656}

所以一切都应该工作,对吧?但我遇到的问题是子弹是从稍微不同的位置射出的。你可以从下图中看到:

在此处输入图像描述

我对齐了角色,让子弹从中间的那个小方块开始。这样你就可以看到子弹应该从哪里开始的距离(在我的角色拿着的枪前面),以及屏幕中间的正方形。

子弹在一条直线上正确行进,并且线的角度与路径的角度相同(从图中可以看出路径和线子弹的形式是平行的)。当我移动我的线时,子弹也以同样的方式移动。我认为问题是节点之间的点转换,但我都尝试过

但是,它们都导致子弹的起点完全相同。你知道我为什么会遇到这个问题吗?setScale是因为我正在使用(我将其设置为 0.3)缩小我的角色精灵吗?

非常感谢您的帮助。

0 投票
2 回答
353 浏览

swift - Swift - 如何填充路径(不透明路径)

我有一条应该具有等距瓷砖形状的路径:

我尝试使用这行代码使其成为不透明的路径:

但是如果我想用这个检查 CGPoint 是否在该路径内:

它仅检测路径上的点,而不检测内部的点。

如何使这成为可能?

谢谢

0 投票
1 回答
69 浏览

cocoa - 即使 CGPathRef 已发布,CAShapeLayer 如何继续在路径 (CGPathRef) 上绘图?

我有这个代码:

我们将 CAShapeLayers (self.blackLineself.whiteDashes) 路径设置为此CGPathRef

然后立即释放路径

但是为什么shapelayers仍然绘制正确的路径?当您分配path财产时,它会复制吗?还是与reforreference后缀有关?

0 投票
1 回答
904 浏览

macos - 将 CGPathRef 转换为 NSBezierPath

在 Apple 文档中,他们为您提供了如何将 NSBezierPath 转换为 CGPathRef 的代码。我需要反过来转换,从 CGPathRef 到 NSBezierPath。UIBezierPath 有一个名为 cgPath 的属性,所以如果我在 iPhone 上工作这不会有问题,但我在 MacOS 上工作。

这一定是一个老问题,我肯定会在互联网上找到答案,但没有运气。可能是我错过了什么。任何帮助表示赞赏。

0 投票
1 回答
579 浏览

objective-c - 是否可以将 CGRect 转换为 CGPathRef ?- 目标 C

我有一个CGRect我想做的基础CGPathRef

它在目标C中可行吗?