如何防止关闭贝塞尔路径

2023-12-15

我想创建一条贝塞尔曲线,并为我的对象创建碰撞边界。

let firstSurfacePoint = CGPoint(x: 30, y: 120)
let secondSurfacePoint = CGPoint(x: 20, y: 200)
let thirdSurfacePoint = CGPoint(x: 200, y: 300)

let center = CGPoint(x: 150, y: 120)
let radius: CGFloat = 120.00
let arcWidth: CGFloat = 20.00    
let fourthSurfacePoint = CGPoint(x: 240, y: 300)

func createCollisionPath(collision: UICollisionBehavior) {

    let line =  UIBezierPath()

    line.moveToPoint(firstSurfacePoint)
    line.addCurveToPoint(thirdSurfacePoint, controlPoint1: secondSurfacePoint, controlPoint2: secondSurfacePoint)
    line.addLineToPoint(fourthSurfacePoint)

    let currentPath = CAShapeLayer()
    currentPath.path = line.CGPath
    currentPath.strokeColor = UIColor.blackColor().CGColor
    currentPath.fillColor = UIColor.clearColor().CGColor
    currentPath.lineWidth = 1
    view.layer.addSublayer(currentPath)

    collision.addBoundaryWithIdentifier("curve", forPath: line)

}

如果我选择 addArcWithCente,我会得到同样糟糕的结果

line.moveToPoint(firstSurfacePoint)
line.addArcWithCenter(center, radius: radius, startAngle: CGFloat(M_PI), endAngle: CGFloat(M_PI/2), clockwise: false)
line.addLineToPoint(fourthSurfacePoint)

在这两次尝试中,收到了奇怪的结果,这是至关重要的,因为我无法创建适当的碰撞。在第一次尝试中,我的对象穿过路径,就好像它是从firstPoint到thirdPoint的直线一样,在第二次尝试中也是如此

我究竟做错了什么?

我的图(无弧)

我的身材(带弧线)


currentPath.fillColor = nil

or

currentPath.fillColor = UIColor.clearColor().CGColor
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何防止关闭贝塞尔路径 的相关文章

  • 退出导航控制器

    我试图离开初始视图控制器 并进入空白视图控制器 这很好 但是这会使空白视图控制器也成为导航控制器的一部分 这不是我想要的 我想脱离视图控制器 在视图控制器中 我尝试退出 它会自行弹出 当我尝试视图中的方法时 将出现目标视图控制器 self
  • 快速将阴影绘制到 uibezierpath

    我有一个奇怪的问题 尽管我确实阅读了很多有关如何执行此操作的教程 但最终结果仅显示贝塞尔线 而不显示任何阴影 我的代码非常简单 let borderLine UIBezierPath borderLine moveToPoint CGPoi
  • 如何在 Swift 中调用 Objective-C 实例类型方法?

    我有一个 Objective C 类 如下所示 interface CustomObjectHavingData NSObject property nonatomic strong NSData objWithData instancet
  • 在 macOS 上通过 Apache 本地运行 Xcode DocC 文档

    Xcode 13 的 DocC 文档档案可以使用自定义 Apache 托管 htaccess文件中描述的向外部开发人员分发文档 https developer apple com documentation xcode distributi
  • 使用 Swift(使用 SwiftJWT)和 REST API 连接到 Apple Store Connect - 失败并出现 401

    我正在尝试通过他们的 REST API 连接到 Apple Store Connect 虽然这在几天前有效 但我无法弄清楚为什么它停止工作 现在我无法通过身份验证 即我发出的服务器响应的每个请求都是 401 我是否遗漏了什么 我做什么 生成
  • Swift 语言中的抽象函数

    我想用 swift 语言创建一个抽象函数 是否可以 class BaseClass func abstractFunction How do I force this function to be overridden class SubC
  • 在 Swift 中将半精度浮点数(字节)转换为浮点数

    我希望能够从二进制文件中读取半浮点数并将它们转换为 Swift 中的浮点数 我查看了来自其他语言 例如 Java 和 C 的几种转换 但是我无法获得与半浮点相对应的正确值 如果有人可以帮助我实施 我将不胜感激 从 Float 到 Half
  • 在 Swift 中动态设置 Dictionary 的属性

    我正在尝试根据字典中的值在类上设置一些属性 目前我正在这样做 let view UIView UIView if let hidden Bool self props hidden as Bool view hidden hidden if
  • 在 WidgetKit 中每分钟更新时间文本标签

    是否可以在小部件中创建显示当前时间并实时更新的文本标签 尝试创建时钟小部件 但小部件每 5 分钟仅更新 1 次 创建时间表没有帮助 使小部件保持最新 不适用于当前时间 仅适用于计时器等 一个可能的解决方案是使用time日期样式 A styl
  • 快速检查网络速度

    我想从我的 swift 应用程序检查网络速度 我发现很多帖子描述了Reachability特别是查找连接是否可达以及是 WIFI 连接还是 WWAN 连接的方法 我的问题 是否可以检测 WWAN 的类型 2G 3G 4G 你可以用以下命令检
  • SwiftUI 上带有 TextField 的可删除表

    环境 Xcode 11 2 1 11B500 Problem 为了在 SwiftUI 中实现带有 TextField 的可编辑表格 我使用了ForEach 0
  • SpriteKit - 对多个 SKNode 上运行的多个 SKAction 进行排序

    我非常了解 SKAction API 但在多个节点上运行顺序代码时我无法获得良好的代码 这是示例代码 简化 import SpriteKit class GameScene SKScene weak var node1 SKNode wea
  • Swift UI 导出画布内容

    我有一个画布 用户可以在上面画东西 我想导出用户在画布上绘制的任何内容 并且我正在使用以下扩展从视图中获取图像 extension View func snapshot gt UIImage let controller UIHosting
  • SwiftUI 检测用户何时截取屏幕截图或屏幕录制

    On UIViewController我们可以轻松地将观察者添加到控制器 喜欢 class ViewController UIViewController override func viewDidLoad super viewDidLoa
  • Swift 中的 @autoreleasepool 相当于什么?

    在 Swift 中 我注意到没有 autoreleasepool 构造 尽管 Swift 确实使用了 ARC 在 Swift 中管理自动释放池的正确方法是什么 或者它是否因某种原因被删除 语法如下 autoreleasepool code
  • 如何为所有整数类型创建通用整数到十六进制函数?

    我想为所有整数类型创建一个整数到十六进制函数 对于1字节的Int8 它返回两个字母 例如0A 对于2字节的Int16 它返回四个字母 例如0A0B 对于8字节的Int64 它返回16个字母 例如0102030405060708 func h
  • 如何在 Swift 中使用 deltaTime 正确计算 1 秒

    我正在尝试计算经过的秒数deltaTime但我不知道该怎么做 因为我的deltaTime不断打印 0 0166 或 0 0167 这是我的代码 override func update currentTime CFTimeInterval
  • UIImageWriteToSavedPhotosAlbum 选择器语法问题

    努力让 UIImageWriteToSavedPhotosAlbum 快速工作https developer apple com library ios documentation UIKit Reference UIKitFunction
  • dyld:无法加载插入的库,但可以在模拟器和另一部 iPhone 上使用

    所以我在过去的几个小时里在我的应用程序上编码 在某个时候我决定在我的 iPhone 8 13 3 1 上启动我的应用程序而不是使用模拟器 13 3 它立即崩溃并出现以下错误 dyld warning could not load inser
  • 如何删除以前的 ViewController

    我是一名学生 对编程还很陌生 我正在尝试在业余时间学习 Objective C Swift 我使用 spriteKit 和 swift 制作了一个游戏 有多个菜单 场景 我正在尝试从一个视图控制器转换到另一个视图控制器 为此 我使用了以下代

随机推荐

  • 如何根据动态字段对 solr 结果进行排序

    我需要根据动态字段对结果进行排序 我怎样才能做到这一点 当我对其中一些动态属性的最小值进行排序时 它没有给出正确的结果 因为我的查询就像 sort min A 160018 A chandigarh1 一些文档同时具有这两个字段A 1600
  • python 从 tsv 文件链接一个列表

    我有这个 tsv 文件 其中包含一些链接路径 每个链接由 分隔我想用 在下面的示例中 我们可以看到文件中的文本是分开的 我只想通读最后一列 这是一条以 14th 开头的路径 6a3701d319fc3754 1297740409 166 1
  • 如何从 PHP 文本中删除空行?

    我需要在 PHP 中删除空白行 带有空格或绝对空白 我使用这个正则表达式 但它不起作用 str ereg replace t r n str str preg replace t r n str 我想要的结果是 blahblah blahb
  • 如何在 Android 4.2 中以编程方式卸载 USB 驱动器

    我读过很多关于这个主题的文章 但我还没有找到解决方案 在我的应用程序中 我需要在将文件从 USB 驱动器复制到平板电脑后卸载 USB 驱动器 这样我就可以安全地删除它 而无需使用 设置 菜单 现在我正在使用这个方法 Utility copy
  • 如何通过ARC确保IOS 5中单例的销毁?

    比如说 我想创建一个里面有一些数据的单例 正如在单例中所期望的那样 数据仅动态分配一次 但我现在想知道何时以及如何发布这些数据 我应该建立特殊的方法来破坏单例吗 更具体地说 何时执行该单例的 dealloc 方法 谁对此负责 您可以声明显式
  • 尝试通过php执行python命令但权限错误

    我上传了一个图像文件并将其从临时文件夹复制到 var www 内的文件夹 然后 尝试通过 php 执行 python 命令 其中exec 命令采用以下格式 exec python file py FILES file name 即使执行以下
  • 如何从spark连接到远程hive服务器[重复]

    这个问题在这里已经有答案了 我在本地运行 Spark 想要访问位于远程 Hadoop 集群中的 Hive 表 我可以通过在 SPARK HOME 下启动 beeline 来访问配置单元表 ml master spark 2 0 0 bin
  • R,绘图,多个绘图图形中字体大小的变化

    我正在为出版物创建图表 并希望它们具有相同的字体大小 当我创建一个图形时多块地块 the 字体变小即使我没有改变tiff 分辨率或pointsize范围 我根据最终适合的绘图数量增加了图形大小 并确保单个和多个绘图图形的边距相等 以下是示例
  • 在 linq 中,为什么 IEnumerable.Intersect 的后续调用要快得多

    在看这个问题的时候C 两个数组的相似之处人们注意到 最初的 linq 调用比后续调用慢得多 缓存的是什么造成了如此大的差异 我感兴趣的是我们何时可以实现这种类型的行为 也许这只是因为一遍又一遍地使用相同的列表 static void Mai
  • 谷歌图表中垂直轴静态的水平滚动

    我在用google chart在我的应用程序中 我想实现滚动 我可以通过设置容器 div 的样式来做到这一点 但问题是它会随着轴滚动整个图表 如何仅水平滚动图表区域并保持垂直轴静态 可视化 API 有一个内置控件来处理图表滚动 图表范围过滤
  • jQuery - 通过 AJAX 提交表单并将结果页面放入 div...?

    我正在使用 jQuery 表单 http jquery malsup com form 将数据发送到表单 有没有办法可以在不刷新的情况下将表单生成的结果页面放入页面上的 div 中 任何建议表示赞赏 我会建议not使用该表单插件 它是在没有
  • 角度中的不安全链接

    在 AngularJS 中 在以下场景中 Firefox 将unsafe 在按以下方式生成的 url 前面 然后它会显示一个错误页面 指出 地址无法理解 这是我本地 PC 上的文件请求 Link li a href fruit title
  • 在同一台服务器上运行 Vue.js 和 Laravel(同一端口)

    我正在开发一个网站 使用 Laravel 作为后端 Vue js 2 作为前端 现在每次我想运行我的网站时我都必须使用两个命令 php artisan serve 这将在端口 8000 上运行 laravel 服务器 npm run dev
  • Matlab:矩阵中每一行的Argmax和点积

    我有2个矩阵 X in R n m and W in R k m where k lt
  • NGINX 未将调用从 React 应用程序路由到后端应用程序

    我有一个 AWS Ubuntu 服务器 它托管在 127 0 0 1 4100 运行的 React 前端 并使用端口 127 0 0 1 1323 对 Go 应用程序进行 api 调用 我安装了 Nginx 并为这两个端口设置了代理通行证
  • 当我尝试添加外部 Jars 时,转换为 dalvik 格式失败

    我使用 Zend Studio 7 2 作为我的主要 IDE 我开发 Android 应用程序 我想使用 html 解析器 但是添加外部 jar 我总是遇到同样的问题转换为 dalvik 格式失败而且eclipse需要很多时间来构建工作区
  • 在 WLP 8.5.5.8 上运行的 JAX-RS 应用程序中发布 JSON 时引发异常

    我有一个非常简单的使用 JAX RS 的 Java 应用程序 在 WLP 8 5 5 8 上运行 当我发布复合结构的 JSON 时 出现此错误 ERROR 错误处理时发生错误 放弃 无效类型 的价值 类型 java util LinkedH
  • 我们能否知道 WPF 上的用户或代码是否已关闭窗口?

    我有一个在我的应用程序上显示的窗口控件 有时 窗口由用户关闭 单击 X 按钮 有时由代码自动关闭 我正在监听 Closed 事件 也尝试过 Closing 并且想知道我是哪种情况 用户或代码 这可能吗 我知道this问题但确实没有令人满意的
  • 为什么在 PostgreSQL 中,当你删除表中的一行时,未来插入的行的 id 号不是连续的?

    我创建下表 CREATE TABLE dogs id serial name VARCHAR 15 age integer 我的桌子看起来像这样 Table public birds Column Type Modifiers id int
  • 如何防止关闭贝塞尔路径

    我想创建一条贝塞尔曲线 并为我的对象创建碰撞边界 let firstSurfacePoint CGPoint x 30 y 120 let secondSurfacePoint CGPoint x 20 y 200 let thirdSur