在 Swift 中创建线性重力场

2024-04-02

Swift 中似乎已弃用矢量方法的线性重力场。这种新语言中有一堆新的 SKFieldNode,但我似乎找不到一个类似于线性重力的。属性“direction”在 Swift 中甚至不可用。也许可以使用这个通用方法 customFieldWithEvaluationBlock 来完成,但我不确定如何完成。我是 SpriteKit 的新手。

那么,我们怎样才能在 Swift 中做出同样的物理效果呢?


在 Swift 2(Xcode 7 的一部分)中,SIMD 向量可用于 Swift,因此使用它们的 API(例如linearGravityFieldWithVector https://developer.apple.com/library/prerelease/ios/documentation/SpriteKit/Reference/SKFieldNode_Ref/index.html#//apple_ref/occ/clm/SKFieldNode/linearGravityFieldWithVector:, 新的游戏套件 https://developer.apple.com/library/prerelease/ios/documentation/GameplayKit/Reference/GameplayKit_Framework/index.html#//apple_ref/doc/uid/TP40015199 and 型号输入/输出 https://developer.apple.com/library/prerelease/ios/documentation/ModelIO/Reference/ModelIO_Framework/index.html#//apple_ref/doc/uid/TP40015421框架等)现在也导入到 Swift 中......不再需要解决方法。

let field = SKFieldNode.linearGravityFieldWithVector(float3(1,0,0))

之前... 这SKFieldNode类方法linearGravityFieldWithVector这样做,但它在 Swift 中不可用。在 ObjC 向量参数中使用vector_float3来自 SIMD 库的类型,该库使用特殊的 C 编译器魔法来生成使用 SSE(在 OS X / x86 上)或 NEON(在 iOS / ARM 上)硬件加速的向量,并很好地打包以发送到 GPU。目前 Swift 中不存在这种 voodoo,因此任何依赖它的 ObjC API 都不会导入到 Swift 中。

现在,您可以从 ObjC 访问这些 API——在 Swift 项目中,您可以为自己创建一个小的 ObjC 包装函数,并在桥接标头中将其公开给 Swift。

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

在 Swift 中创建线性重力场 的相关文章

  • 在 Swift 3 中单击和双击 UITableViewCell

    我在 TableView Cell 上有故事板 segue 我用它来在单元格单击中传输到另一个 VCdidSelectRowAt方法 现在我双击了TapGestureRecognizer处理手机上的点击问题 问题是 单击时 segue 正在
  • 为什么我们在 @synchronized 块中传递 self ?

    我猜 synchronized 块不依赖于对象 而是依赖于线程 对吗 既然如此 我们为什么要传递 self 呢 synchronized是语言提供的用于创建同步作用域的构造 因为使用简单的全局共享互斥锁效率非常低 因此序列化每个单独的互斥锁
  • 从 Plist 中存储和检索 [重复]

    这个问题在这里已经有答案了 可能的重复 iOS 在 plist 文件中存储两个 NSMutableArray https stackoverflow com questions 6070568 ios store two nsmutable
  • iOS Swift 检测键盘事件

    我能以某种方式检测来自 iOS 键盘的事件吗 我想检测此类事件UIViewController哪个没有UITextField或任何此类物体 我只有四个圆圈UIView我想在按下键盘上的按钮时将它们涂成不同的颜色 您没有任何对象可以从键盘获取
  • Firebase 连接管理器应仅返回一个结果

    我正在关注位于以下位置的文档 https www firebase com docs ios guide offline capability html section connection state https www firebase
  • 使用 UIActionSheet 更改视图时工具栏项目消失

    当从 a 启动视图时UIActionSheet按钮 通过导航栏后退按钮返回视图后 工具栏虽然仍然可见 但上面没有任何以前的按钮 自从更新到 iOS 6 以来 这个错误就出现了 并且是在模拟器和仅运行 iOS 6 的设备上测试时发生的 如果我
  • iOS App布局错误,调用状态栏

    在主动通话和应用程序布局期间面临状态栏问题 我正在使用自动布局 当我运行应用程序 然后开始通话时 一切正常 UI 会随着状态栏的更改而正确缩放 但是 如果我首先开始通话 然后运行应用程序 应用程序屏幕会移动到底部 20pt 就像它们对新状态
  • iOS 外部附件框架:如何获取特定 MFI 设备的协议字符串

    我正在编写一个 iOS 应用程序 用于与 mini mPlay Drumi MP18B 小型蓝牙扬声器 进行通信 据我所知 showBluetoothAccessoryPickerWithNameFilter仅显示协议字符串添加到 Info
  • Swift:从自定义 UITableViewCell 中的 UITextField 检索文本并将其放入数组中

    我正在制作一个非常简单的应用程序 用户在第一个屏幕中输入人数 在第二个屏幕中 它会生成一些UITableViewCell基于用户在第一个屏幕中输入的数字 这UITableViewCell have a UITextField在其中 一旦用户
  • 如何从 NSString 中删除十六进制字符

    我面临一个与字符串中的某些十六进制值相关的问题 我需要从字符串中删除十六进制字符 The problem is when i print object it prints as BLANK line And in debug mode it
  • iOS 中的等宽字体是什么?

    我想要在我的 iOS 应用程序中为 UILabel 使用等宽字体 不幸的是 我找不到一个 甚至 美国打字机 实际上也不是等宽的 XCode 中可用的等宽字体是什么 iOS 等宽字体 Courier Courier Bold Courier
  • 为了支持 iPhone 5 的更长屏幕,需要检查什么? [复制]

    这个问题在这里已经有答案了 可能的重复 iPhone 5屏幕尺寸如何处理 https stackoverflow com questions 12396545 how to deal with iphone 5 screen size iP
  • 如何将十六进制数组转换为 UIImage?

    有几个与使用 P25mi 动态打印图像相关的未解答问题 没有一个得到公认的答案 下面有几个链接 如何将图像转换为位图代码以便在 iPhone 中进行蓝牙打印 https stackoverflow com questions 1383828
  • 在 Swift 中检查一个数组是否包含另一个数组的所有元素

    我想为数组编写一个扩展来检查一个数组是否包含另一个数组的所有元素 在我的用例中它是字符串对象 但我一直得到 Cannot convert value of type T Generator Element to expected argum
  • 如何添加授权以从新钥匙串对应用程序进行代码签名,而无需任何人工交互

    我正在尝试使用特定证书自动化构建 iPhone 应用程序的过程 因此 想象一下 如果不同的用户将他们的证书上传到系统中 并且可以立即用于代码签名 我想在没有任何交互的情况下做到这一点 我也不想用不同的用户证书弄乱系统或登录钥匙串 为此我有
  • 打印附加结构(swift 4)

    我有三个 textifled 用于将数据附加到结构中 如何打印我附加的内容 现在我收到一条错误消息 import UIKit class ViewController UIViewController IBOutlet var c UITe
  • Cognito/IAM 策略和 S3 获取对象

    我正在尝试将 S3 和 Cognito 集成到我的 iOS 应用程序中 但到目前为止尚未成功 我相信该错误与我针对 Auth 和 Unauth 用户的 IAM 策略有关 所以这是我的政策 Version 2012 10 17 Stateme
  • Swift 中 UIImages 的淡入淡出动画

    我有一组图像 我希望它们在登录屏幕的背景中淡出 我无法在 swift 中找到任何可以做到这一点的东西 有什么办法我可以做到吗 这是我当前的代码 override func viewDidLoad super viewDidLoad star
  • 下标:使用字符串枚举访问我的字典值

    我想做类似的事情 使用字符串枚举访问我的字典值 我试图重载字典的下标但没有成功 访问字典 let district address JsonKeys district 其中 JsonKeys 是 enum JsonKeys String c
  • 当设置 setVisibleXRangeMaximum 时,iOS-Charts X 轴值无限重复

    我正在尝试绘制一个图表 其中 x 轴是TimeIntervalY 轴是power consumption 由于每天都会有数据 因此将有太多数据无法显示 因此 我想一次显示 5 个值 我通过设置实现了这一点self chart setVisi

随机推荐

  • cygdb ImportError:没有名为“Cython”的模块

    我想调试我的 Cython 代码并按照描述的确切步骤进行操作here http docs cython org src userguide debugging html 我的 Cython 代码编译 cython gdb xxx pyx进而
  • R strptime/as.POSIXct 中的未知时区名称

    在哪里可以找到 R 函数的所有合法时间名称的列表as POSIXct as POSIXct 1970 01 01 tz CST 生成一条警告 指出 CST 中部标准时间 未知 时区的东西可以驱动你NUTS 由于位于德国 我过去常常这样做来设
  • ASP.NET MVC:ValueProvider 的执行顺序

    我想知道不同的执行顺序ValueProviders在 ASP NET MVC 中 价值提供者 查询字符串值提供者 路由数据值提供者 表单值提供者 我没有找到信息 如果我没记错的话 优先顺序是这样的 请求中的表单数据 路线数据 请求参数 Ht
  • Matplotlib:图例未正确显示

    我有不同类别的数据点 我想将其可视化 这是我得到的图像 https i stack imgur com qwCLC jpg https i stack imgur com qwCLC jpg 有 10 个类别的 3000 个数据点 每个类别
  • opencv矩阵数据能保证连续吗?

    我知道 OpenCV 矩阵中包含的数据不能保证是连续的 为了让自己清楚 这里有一段Opencv 文档 https docs opencv org 3 4 0 d3 d63 classcv 1 1Mat html details OpenCV
  • 将 EF4 与 Caliburn.Micro 绑定:我应该将我的实体公开为 ViewModel 的属性吗?

    使用 Caliburn Micro 我想知道将 EF4 实体公开为 ViewModel 的属性 讨论过的一种技术 的优缺点here http kboek blogspot com 2011 01 activerecord caliburn
  • 在 jsdom 测试中卸载/销毁组件

    有没有办法卸载和垃圾收集使用安装的 React 组件TestUtils renderIntoDocument在 jsdom 测试中 我正在尝试测试发生的事情componentWillUnmount and TestUtils renderI
  • 如何根据Python中的条件从现有数据帧创建多个数据帧

    我有一个数据框 如下所示 我想根据列 ID 从该数据帧创建多个数据帧 df pd DataFrame results print df 结果是 ID NAME COLOR 0 01 ABC RED 1 01 ABC ORANGE 2 01
  • SQLalchemy 中带有子查询、分组依据、计数和求和函数的高级 SQL 查询

    我写了以下查询 select distinct table3 select count from table2 where table2 cus id table3 id as count select sum amount from ta
  • flutter 中任务 ':app:checkDebugManifest'(类型 'CheckManifest')的配置出现问题

    我正在构建我的应用程序 当构建时发生此错误时 FAILURE Build failed with an exception What went wrong A problem was found with the configuration
  • 如何构建具有依赖类型长度的列表?

    将我的脚趾浸入依赖类型的水域中 我对规范的 具有静态类型长度的列表 示例进行了破解 LANGUAGE DataKinds GADTs KindSignatures a kind declaration data Nat Z S Nat da
  • 将字节转换为图像

    如何将图像的字节转换为图像 最简单的方法可能是将字节数组包装在MemoryStream http msdn microsoft com en us library system io memorystream aspx然后使用Image F
  • wget 未被识别为内部或外部命令

    我正在开发一个程序 当我进行新的开发并添加新的补丁时 它会自动更新我的游戏 当我运行补丁更新时 它无法将 wget 识别为内部或外部命令 游戏 Checkforupdates cls cd C AirlineSim echo Checkin
  • 可以在 ASP.NET MVC 中重载控制器方法吗?

    我很好奇是否可以在 ASP NET MVC 中重载控制器方法 每当我尝试时 我都会收到以下错误 这两种方法接受不同的参数 这是不能做的事情吗 当前对控制器类型 MyController 上的操作 MyMethod 的请求在以下操作方法之间不
  • EntityType 未定义键

    我正在创建一个应用程序 用户通过 Facebook oAuth 登录 然后设置歌曲列表 我收到以下错误消息 BandFinderCsharp Models IdentityUserLogin EntityType IdentityUserL
  • 如何将属性传递到 Backbone 视图?

    我正在使用 Backbone v1 0 0 开发我的应用程序 在开始工作期间 现在已经更新到 v1 1 0 所以在我以前能做的地方 var myView new MyView hash something 并访问hash在视图内部使用 th
  • 保存应用程序状态 AIR

    有没有办法在 AIR 桌面版 Flex AS3 中保存应用程序状态以保存文件 Thanks 您需要确保您的所有课程都已可序列化 http en wikipedia org wiki Serialization 然后在退出应用程序时将它们序列
  • 使用 sha256 与用户 ID 进行哈希和加盐

    我将在我的网站上使用 sha256 以保护我的用户密码 并且作为盐 我正在考虑使用用户 ID int auto increment 这将是独特的 但不是很长和困难 并且公开 user php id 1 但它是否唯一很重要 对吧 hash s
  • 在 zf2 mvc 之外使用 Zend_Db zf2 模块

    我正在编写一个不基于 zf2 mvc 的 PHP 应用程序 我确实只想使用 Zend Db zf2 模块 我如何配置我的应用程序以了解 如何在需要的地方找到 Zend Db 相关的 PHP 文件 我使用 phyrus 下载了 zf2 Zen
  • 在 Swift 中创建线性重力场

    Swift 中似乎已弃用矢量方法的线性重力场 这种新语言中有一堆新的 SKFieldNode 但我似乎找不到一个类似于线性重力的 属性 direction 在 Swift 中甚至不可用 也许可以使用这个通用方法 customFieldWit