如何向 spritekit 中的节点添加滑动手势

2023-12-07

我正在尝试向节点添加滑动手势,以便当用户滑动它时,它会离开屏幕,但我不断收到SIGABRT错误:

`Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[fidget2.PlankScene swipedRight:]: unrecognized selector sent to instance 0x7ff4c3603e00'`

我不确定为什么会出现这个错误。我确保该节点在.sks文件。这是我的代码:

import SpriteKit


let plankName = "woodPlank"

class PlankScene: SKScene {

  var plankWood : SKSpriteNode?


  override func didMove(to view: SKView) {

    plankWood = childNode(withName: "woodPlank") as? SKSpriteNode


    let swipeRight : UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: Selector("swipedRight:"))

    swipeRight.direction = .right

    view.addGestureRecognizer(swipeRight)

  }


  func swipedRight(sender: UISwipeGestureRecognizer) {

    print("Object has been swiped")

  }


 func touchesMoved(touches: Set<NSObject>, withEvent event: UIEvent)
  {
    let touch = touches.first as! UITouch
    let location = touch.location(in: self)

    if (plankWood?.frame.contains(location))!
    {
     print("Swipe has started")
    }
  }
}

遇到了同样的问题,所以我们对此有一个公认的答案,我想指出留下的评论0x141E是正确的解决方案:

Replace Selector("swipedRight:") with #selector(PlankScene.swipedRight)

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

如何向 spritekit 中的节点添加滑动手势 的相关文章

  • 设置/覆盖 UICollectionView 中单元格之间的填充

    我有一个 UICollectionView 但在获取单元格之间的填充时遇到了问题 理论上 我应该能够将屏幕除以 4 并且我可以获得包含 4 个图像的单元格大小 完美地占据屏幕宽度 但是 它选择不这样做 相反 它会创建 3 个具有巨大填充的图
  • iOS 上的 UIBezierPath 操作

    我从一条直线开始 我希望用户能够触摸并拖动该线 使其弯曲 实际上 他们有能力将线条操纵成波浪形状 我不确定从技术上实现这一目标的最简单方法 我首先创建了三次曲线的 UIBezierPaths 数组 目的是操纵控制点 但似乎一旦绘制了 UIB
  • 如何使用完成处理程序等待 firestore 请求的完成

    我正在慢慢地了解完成处理程序 如果我有一个 firestore 查询 如果我想使用完成处理程序 则有点向后工作 当 firestore 查询完成时 我必须使用completion 但它的设置功能仍然让我感到困惑 因此 如果这是一个将闭包作为
  • Swift Codable 将空 json 解码为 nil 或空对象

    这是我的代码 class LoginUserResponse Codable var result String var data LoginUserResponseData var mess String public class Log
  • 检测 AVAudioPlayer 中的播放结束

    我有几个短的 mp3 声音 我将它们存储在数组中 并希望连续播放它们 有什么方法可以检测 AVAudioPlayer 何时停止播放 以便我可以调用完成处理程序并播放下一个声音 我知道有一个委托 但我正在使用 Playground 和 SKS
  • 自定义 UITableViewCell 选择样式?

    当我点击我的UITableViewCell 当我单击单元格时 背景部分 我的背景图像未覆盖的区域 会变成蓝色 另外 所有的UILabel单击时单元格上的 s 变为白色 这就是我想要的 然而 我不想要的是当我点击它时的蓝色背景 但如果我这样做
  • 为什么我不能在 Realm 属性上使用 private

    我正在尝试在 RealmSwift 中存储一个枚举案例 但 Realm 不支持枚举 本文 https medium com it works locally persisting swift enumerations with realm
  • 错误域=AVFoundationErrorDomain代码=-11814“无法记录”

    它不断给我错误 错误域 AVFoundationErrorDomain代码 11814 无法记录 我不确定问题是什么 我试图在拍照后计数器达到 1 时录制声音 static int counter counter will always b
  • 使用 Interface Builder 创建 UIScrollView 的步骤

    我正在尝试使用 UIScrollView 但似乎有一些基本的事情我不理解 假设我想在我的 iPhone 应用程序中使用 UIScrollView 我有一个充满按钮的视图 尺寸为 320x700 显然 这对于 320x480 的 iPhone
  • 如何在 Swift 中获取字典中最后输入的值?

    如何获取 Swift 字典中最后输入的值 例如 我如何从下面获取值 CCC var dictionary Dictionary
  • 在真实设备上展示测试广告

    这是我的代码 let request GADRequest request testDevices kGADSimulatorID XXXX2F32d69CCA859FFB559D0FEA3CF6483D08A6 adView load r
  • iOS:提高图像绘制速度

    我有一系列想要制作动画的图像 UIImageView支持一些基本的动画 但不足以满足我的需求 我的第一个方法是使用UIImageView并设置image当图像属性 这太慢了 速度慢的原因是图像的绘制 这让我感到惊讶 我以为瓶颈会加载图像 我
  • 检测 AvPlayer 何时切换比特率

    在我的应用程序中 我使用 AVPlayer 通过 HLS 协议读取一些流 m3u8 文件 我需要知道在流会话期间 客户端切换比特率多少次 我们假设客户端的带宽正在增加 因此客户端将切换到更高比特率的段 AVPlayer能检测到这个开关吗 T
  • iOS 循环对象的属性并添加操作

    我有一个具有几个类似属性的类 UISliders 我想添加用户开始和结束使用每个滑块时的操作 每个滑块都将链接到同一个选择器 因此我考虑只是迭代它们 而不是编写 10 个几乎相同的代码块 问题是 最有效的方法是什么 我尝试过这样的事情 在运
  • iphone:如何停止快门动画?

    我有两个问题 1 我想知道如何在相机加载时停止快门动画 我正在使用 UIImagePickerController 我已经参考了堆栈溢出的许多答案 但没有成功 2 我在相机中有一个自定义按钮 使用cameraOverlayView并想通过单
  • Google 地图 API -> OpenGLES 崩溃

    日志是从 Crashlytics 粘贴的 对于许多用户来说 崩溃经常发生 据我所知 它与设备 iOS 版本无关 我在我的代码中找不到任何错误 这似乎是纯粹的库问题 是 Google 地图 API 错误吗 我可以做些什么来修复它 或者我应该在
  • 指定访问组时出现 KeychainItemWrapper 错误

    相当长一段时间以来 我一直在使用 KeychainItemWrapper 的 ARC 版本成功读取和写入私有钥匙串项目 我现在正在努力将我的 iOS 应用程序转换为使用共享访问组 以便我的 2 个共享相同应用程序前缀的应用程序可以访问钥匙串
  • 在现有 iOS 应用程序中集成 React-native(0.40.0) 后找不到 Yoga/Yoga.h 头文件

    在我的 Swift iOS 应用程序中集成 React Native 后 我无法构建 yoga Yoga h file cannot be found 我已经浏览了文档 查看了react native github页面 检查了类似问题的SO
  • git 提交错误:检测到大文件

    您好 我正在为 ios 8 1 开发一个应用程序 xcode 我已经使用 googleMaps 框架来实现自动完成功能 当我尝试在 Git 中推送我的项目时 我收到大文件检测错误 后来尝试使用 git lfs 并跟踪 git 检测到的文件
  • RemoteIO 音频单元播放回调中的 AudioBufferList 内容

    我想 拦截 音频数据传送到 iOS 设备扬声器的过程 我相信这可以使用 RemoteIO 音频单元和回调来完成 在下面的playbackCallback中 ioData实际上包含任何音频数据吗 static OSStatus playbac

随机推荐

  • 如何使用 d3.js 在折线图上的某个点显示图标

    我正在使用 d3 创建一个简单的折线图 但我想显示一个很棒的图标 例如 fa arrow up 而不是沿路径的标准点 我尝试过以下 var setDirectionalPrediction function points points ea
  • 你能在 CSS 渐变中添加噪音吗?

    是否可以在 CSS 中的渐变中添加噪声 这是我的径向渐变代码 body color 575757 font 14px 21px Arial Helvetica sans serif background color 2f3b4b backg
  • 如何返回 DocumentSnapShot 作为方法的结果?

    采用 DocumentSnapShot DocumentsnapShot 参数的自定义对象 也是来自 Firebase 的内部对象 它检索快照并将值设置为我的自定义模型也有其参数 DocumentSnapShot 文档napShot 但是
  • 在 iOS 应用程序中自动连接到 BLE 设备

    我正在编写一个 iOS 应用程序 它将使用低功耗蓝牙 BLE 与设备进行通信 当我连接的设备超出范围时 我的应用程序将收到断开连接事件 但当设备返回范围时 我没有收到任何连接事件 请建议任何检测设备何时返回范围的方法 当您收到设备不再可达的
  • Simba Mongodb ODBC 驱动程序:返回的数据与预期数据长度不匹配

    我们使用 Simba Mongodb ODBC 驱动程序连接到 Mongo 数据库并进行 sql 查询 我使用 psql 在 Linux 上测试了连接 并且能够执行查询 当我的客户尝试通过 Microsoft SQL Server Mana
  • Django迁移依赖项引用不存在的父节点

    我在 Django 迁移方面遇到问题 我收到此错误 django db migrations exceptions NodeNotFoundError 迁移user 0050 merge 20170523 1254依赖项引用不存在的父节点
  • jsRender - 如何从嵌套模板调用外部模板

    我对 jsRender 真的很陌生 才几天 我只能说 我喜欢它 我发现真正有用的一篇文章是this one作者 约翰 帕帕 到目前为止 我已经能够做我想做的事 同一页面中的所有内容 但约翰在他的文章中说了一件事 如果模板是在同一页面的标签内
  • 使用QT Creator如何将执行级别设置为requireAdministrator

    基本上我需要能够编辑需要管理员权限才能编辑的文件 我知道在 Visual Studio 中为此使用了清单文件 但我知道 QT 没有这些 您可以将清单与 Qt 应用程序一起使用 但您必须半手动执行此操作 这篇博文使用 QtCreator 嵌入
  • 如何使用活动识别豁免从后台启动foregroundService?

    Android 12 添加了从后台启动 ForegroundService 的限制 并且该文档还提到了一些豁免 其中之一是 您的应用收到与地理围栏或活动识别转换相关的事件 我找不到任何文档来详细讨论它 这是我的问题 我是否必须在收到此事件后
  • 如何在 Django 中为用户模型创建密码字段?

    我对 Django 完全陌生 在我的 models py 中 我想要一个用户模型来表示登录应用程序的用户 我知道如何拥有 fname lname 电子邮件和用户名等字段 例如 只需添加 first name models CharField
  • 更新 Google Slides API 中的链接表

    我看到有一种方法可以更新幻灯片中的链接图表 RefreshSheetsChartRequest 但在我的演示文稿中 我从 Google 表格粘贴了表格 这些表格链接到电子表格中的数据 我可以通过单击幻灯片 UI 中的更新按钮来手动更新这些内
  • Android Studio:意外的顶级异常:

    我该如何解决这个错误 错误 任务 app dexDebug 执行失败 com android ide common process ProcessException org gradle process internal ExecExcep
  • 将 WPF 组合框绑定到用户设置属性

    我在 WPF 中有一个组合框 其中有 4 个静态值
  • Xgboost (GPU) 在预测时崩溃

    我在 Python 中使用 XGBoost GPU 版本 每当我尝试运行 predict 时它都会崩溃 它适用于较小的数据集 但对于我当前的问题 它不起作用 train final shape test final shape 631761
  • 执行存储在变量中的数学运算

    我有3个这样的变量 第一个 2 第二 5 操作 如何以编程方式将这个数学问题的解决方案分配给 answer 变量 我尝试过 eval 但这不起作用 eval 对于这样的事情应该工作得很好 请记住 eval 返回 NULL 除非您告诉它返回某
  • Microsoft Visual C++ 2008 Redistributable Package 可以自由重新分发吗

    我计划使用 py2exe 制作一个用 Python 2 6 开发的应用程序 看来我的应用程序需要 VC 可再发行组件 http www py2exe org index cgi Tutorial Step5 我已阅读本教程和可再发行许可协议
  • 将一个文件共享/挂载到 Pod 中的最佳方式是什么?

    我正在考虑使用秘密来挂载单个文件 但似乎您只能挂载会覆盖所有其他内容的目录 如何在不安装目录的情况下共享单个配置文件 例如 您有一个包含 2 个配置文件的 configmap kubectl create configmap config
  • 如何在 JavaScript 中的 Y 和 Z 范围内随机生成 X 个数字?

    例如我想生成5个unique1 到 10 之间的数字 结果应该是 1 到 10 之间的 5 个数字 例如 2 3 4 8 10 用您的值范围填充数组 打乱数组 选择前 5 个元素 如果范围非常大 并且您想要的值的数量非常小 例如 范围 1
  • CDI 在同一实例中调用拦截器注释方法

    这是我的 DAO 实现 我将加载整个表并在内存中缓存一段时间 ApplicationScoped public class DataAccessFacade Inject private EntityManager em CacheOutp
  • 如何向 spritekit 中的节点添加滑动手势

    我正在尝试向节点添加滑动手势 以便当用户滑动它时 它会离开屏幕 但我不断收到SIGABRT错误 Terminating app due to uncaught exception NSInvalidArgumentException rea