iOS7 Sprite Kit 如何禁用精灵上的触摸以使其“点击通过”?

2023-11-27

我知道对于传统的 UIView,我可以将“启用用户交互”标志设置为 NO,视图将不再响应触摸,让其下面的视图接收触摸。

是否有某种方法可以在 Sprite Kit 中实现相同的“点击通过”功能?到目前为止,我只看到人们使用“触摸开始”,了解要点并向场景询问此时的节点。

这种方法的问题是 - 如果我想在精灵之上添加叠加层(如怪物生命点等),它们也会响应触摸。到目前为止,我试图通过为不同节点创建自定义类,然后使用一个非常大的 if 语句来检查每个节点的类来避免此问题。

有没有更好的方法来实现精灵套件的“点击”功能?


如果您设置userInteractionEnabled财产给YES在子类 SKSpriteNode 上,然后触摸委托将在类内调用。因此,您可以在其类中处理精灵的触摸。

然而,默认情况下,userInteractionEnabled属性设置为NO。因此,默认情况下,精灵上的触摸是“点击”。

因此,对于您想要的覆盖,为精灵创建自定义类,实现touchesBegan:和该类中的其他代表,并在初始化时设置userInteractionEnabled财产给YES.

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

iOS7 Sprite Kit 如何禁用精灵上的触摸以使其“点击通过”? 的相关文章

  • Swift - 选择值后隐藏 pickerView

    我发现了类似的问题 他们的答案很有帮助 但我坚持最后一件事 我试图在点击字段时显示 pickerView 然后选择数据时 我希望 pickerView 隐藏 我可以从 pickerView 获取数据来隐藏 但是 pickerView 后面仍
  • UIView 子类不会自动调整大小

    我一直在寻找有关调整大小的背景信息 但找不到太多 我知道我需要设置autoresizesSubviews在超级视图和autoresizingMask在子视图上 我已经这样做了 并且我的 UIImageViews 正确调整了大小 但我的自定义
  • iOS 8 中的 UISplitViewController 状态恢复

    在 iOS 8 上 UISplitViewController 似乎可以保存和恢复其子视图的状态 例如 主视图是否隐藏 这是不可取的 因为我的应用程序应该始终以横向方式显示主视图 并始终以纵向方式隐藏它 如果用户以横向模式关闭应用程序 保存
  • Objective Flickr 照片上传错误

    我正在使用 ObjectiveFlickr 库将照片从我的 iPhone 应用程序上传到 Flickr 我可以授权该应用程序并执行一般请求 但在尝试上传照片时遇到错误 要上传的照片是使用 AVFoundation 捕获的图像 这是相关代码
  • 使用 Cocoa 获取无法安装的驱动器列表

    我想获取在 OS X 下使用 Cocoa Objective C 无法安装 弹出的驱动器列表 我希望 NSWorkspace getFileSystemInfoForPath 能帮助我 NSArray listOfMedia NSWorks
  • PresentModalViewController 不执行任何操作

    我有一个 UIViewController parent 调用presentModalViewController与另一个 UIViewController child on viewDidLoad If parent没有 UINaviga
  • 在后台任务中安排通知

    我正在为 iOS 开发一个日历 闹钟应用程序 它与网络服务器同步 当在服务器上添加活动时 会发出推送通知 以便 iOS 客户端可以获取新数据 并根据需要更新和安排下一次警报的时间 本地通知 但这仅在应用程序在客户端打开时才有效 我希望客户端
  • UISearchController 保留问题

    我正在尝试使用 UISearchController 但是我遇到了无法解决的保留问题 MainTableview 有两个部分 第1节 基于某些正则表达式过滤数据 第2节 All Data 我将 UISearchController 添加到我
  • 线程 1:信号 SIGABRT - AppDelegate.h

    main m Journey Created by Julian Buscema on 2014 07 13 Copyright c 2014 Julian Buscema All rights reserved import
  • PrepareForSegue之谜

    我在两个不同的 VC 中有一个prepareForSegue 方法 一个使用一个if声明 而另一个旨在使用switch 除了名称之外 代码几乎相同 这个效果很好 void prepareForSegue UIStoryboardSegue
  • 应用程序传输安全已禁用,但仍然出现 SSL 握手错误

    我在通过 HTTPS SSL 连接到 API 时遇到问题 我已经使用下面的字典完全禁用了应用程序传输安全性 ATS 尽管 SSL 证书通过了 NSCURL 的所有测试
  • 检查 touchend 是否在拖动后出现

    我有一些代码可以更改表的类 在手机上 有时表格对于屏幕来说太宽 用户将拖动 滚动来查看内容 但是 当他们触摸并拖动表格时 每次拖动都会触发 touchend 如何测试触摸端是否是触摸拖动的结果 我尝试跟踪dragstart和dragend
  • iOS WKWebView.scrollView委托导致BAD_ACCESS

    我的 viewController 有一个 UIView 属性 其中包含一个 WKWebView 我将 WKWebView rollView 委托设置为我的 viewController 它是我的 UIView 子类的公共函数 并在我的 v
  • 如何更改已上传的 Firebase 存储图像文件名?

    我需要更改已上传到 firebase 存储中的文件名 因为 在 firebase 存储中上传图像后 我将 url 保存在 firebase 数据库中的特定子 文件夹 下 但是 当我将图像移动到另一个子 文件夹 时 我需要根据新名称更改存储中
  • 当您感兴趣的任务完成时,是什么让完成处理程序执行该块?

    我一直在询问并试图了解完成处理程序是如何工作的 我用过很多 也读过很多教程 我将在这里发布我使用的代码 但我希望能够创建自己的代码 而无需使用其他人的代码作为参考 我理解这个完成处理程序 其中调用者方法 void viewDidLoad n
  • xcode 6.1 (Swift) 中的 SIGABRT 运行时错误

    与最初的代码相比 唯一的更改是在ViewControl swift override func viewDidLoad newMessage hidden true super viewDidLoad Do any additional s
  • 将 CALayer 旋转 90 度?

    如何旋转CALayer90度 我需要旋转所有内容 包括子图层和坐标系 Obj C theLayer transform CATransform3DMakeRotation 90 0 180 0 M PI 0 0 0 0 1 0 Swift
  • Swift 中通过不同类调用委托方法

    我正在获取 JSON 菜单 一旦 JSON 返回 我想运行 menuReady 来更新表的内容在 SomeTableViewController 类中 但下面的代码似乎不起作用 AIM Run 菜单就绪 JSON 返回后更新内容 PROBL
  • 显示键盘时如何在 TextView 下方添加更多填充

    当我在 ScrollView 中有 TextField 并点击它时 键盘会按预期显示 但似乎 TextField 已向上移动到足以显示输入区域 但我希望移动到足够的位置 以便整体可见 否则它看起来像是被剪裁了的 我找不到改变这种行为的方法
  • KeyboardAvoidingView - 隐藏键盘时重置高度

    我正在使用 React NativeKeyboardAvoidingView设置我的高度View当显示键盘时 但是当我关闭应用程序中的键盘时 视图的高度不会变回原来的值

随机推荐

  • 计算两个 Pandas 列之间的时间差(以小时和分钟为单位)

    我有两列 fromdate and todate 在数据框中 import pandas as pd data todate pd Timestamp 2014 01 24 13 03 12 050000 pd Timestamp 2014
  • 将 std::experimental::filesystem 与 Xcode 9 链接

    我正在使用 std experimental filesystem 和 Xcode 9 0 beta 编译器阶段完成正常 但链接器抱怨未定义的符号 std experimental filesystem v1 path filename c
  • 创建大量线程时出现.Net 内存泄漏

    我有一个随着时间的推移创建大量线程的应用程序 我注意到内存使用量随着它的运行而增加 并最终耗尽内存 但相同的代码在我同事的环境中不会泄漏内存 我们都有相同的 net 版本 我能够使用以下示例代码重现该问题 该代码不会在我同事的笔记本电脑上泄
  • 为什么最好从方法类的实例中静态调用静态方法?

    如果我在 Java 中创建类的实例 为什么最好静态调用同一类的静态方法 而不是使用 this method 当我尝试通过 this staticMethod 从自定义类的构造函数中调用静态方法 staticMethod 时 我收到来自 Ec
  • 获取客户端当前在断开连接事件中所在的房间列表

    我正在尝试查找客户端当前在断开连接事件中所在的房间列表 关闭浏览器 重新加载页面 互联网连接已断开 我需要它的原因如下 用户已进入几个房间 然后其他人也做了同样的事情 然后他关闭了浏览器选项卡 我想通知他所在房间里的所有人他离开了 所以我需
  • pyside qtreewidget 约束拖放

    我试图向 QTreeWidget 拖放功能添加约束 以防止分支进入另一个根中的另一个分支 这是一个让事情更清楚的例子 我有 4 个对象 我们称它们为苹果 香蕉 胡萝卜 榴莲 这棵树看起来像这样 isDelicious Root Backgr
  • Xcode 11.4 beta 在 @Published 属性订阅上崩溃。这是怎么回事?

    我不知道为什么 但我的代码在这个 searchTerm 发布者上崩溃了 我的代码中有很多这样的发布者 其他一切都正常 它仅在这个新的 Xcode 版本中不起作用 而在以前的版本中起作用 如果我评论这一行并将其替换为 searchTerm p
  • 将信息从 javascript 传递到 django 应用程序并返回

    所以我试图基本上建立一个网页 用户在其中选择一个id 然后该网页将id信息发送到python 其中python使用该id来查询数据库 然后将结果返回到网页进行显示 我不太确定该怎么做 我知道如何使用 ajax 调用来调用 python 生成
  • C# FlowDocument 到 HTML 的转换

    基本上 我有一个 RichTextBox 我想将其格式化内容转换为 HTML 以便它可以作为电子邮件发送 我当前使用的方法根本不提供任何格式 string message new TextRange messageTextBox Docum
  • 插入大文件时出现“ORA-03135: 连接失去联系”

    我正在尝试使用实体框架 ODP Net 将可能大量的二进制数据插入到远程 Oracle 11g 数据库中 它对于非常小的文件 我不认为它超时 因为异常发生在执行命令的一秒钟内 我尝试在连接字符串中设置以下两项 但无济于事 Validate
  • 是否可以通过模式切换在64位进程中执行32位代码?

    在这个页面中 http www x86 64 org pipermail discuss 2004 August 005020 html他说有一种方法可以在应用程序中混合 32 位代码和 64 位代码 他假设应用程序是 32 位 兼容模式
  • 哪个 STL C++ 容器用于固定大小的列表?

    我有一个消费应用程序 它需要在列表中存储最多 100 个对象 以提供给回调进行处理 因为如果消费者没有跟上 保留旧数据将是多余的 当新数据到达时 它可以简单地覆盖最旧的元素 我正在考虑使用循环缓冲区容器并猜测它会是 deque 但发现它不使
  • Git-archive远程端挂了

    我试图从 Github 上签出单个文件 关注后 this我尝试过的线程 git archive format tar remote ssh email protected user project git HEAD README md 我收
  • 如何获取“somepage.php#name”中哈希后的值?

    对于给定的网址 我想从数据库中获取哈希后名称的年龄 所以对于像这样的网址thepage php Madonna 你会看到的 119 如何提取 url 中哈希值后的值 我需要一种安全的全浏览器兼容的非 JavaScript 方式 我想像 GE
  • Android Studio 的 Structure 侧边栏中的不同图标和符号代表什么意思?

    当我单击 Android Studio 中的 结构 侧边栏时 它会显示当前类的内容 然而 有一些图标和符号用于指示不同的成员 例如 带有字母 m 的圆圈表示方法等 在哪里可以获得所有图标和符号的完整列表和详细信息 我正在寻找类似解释各种图标
  • 会话在每个 servlet 请求中丢失并创建为新会话

    我有这个大问题 每次我向服务器发出新请求时 我当前的会话都会消失 我查过很多地方 我找不到问题所在 我还包括了 tomcat 和应用程序中 web xml 中的 session config 我还启用了我的浏览器接受 cookie 在每个浏
  • 计算整数上的位 1 的速度与 GCC __builtin__popcount(int) 一样快

    我编写了一个算法 摘自 C 编程语言 可以非常快地计算 1 位的数量 int countBit1Fast int n int c 0 for n c n n 1 return c 但一位朋友告诉我 builtin popcount int
  • GitLab CI - 使用 !reference 标签重用规则

    根据 GitLab 的 CI 文档 参考标签 它说 使用 reference 自定义 YAML 标签从其他作业部分选择关键字配置并在当前部分中重用它 与 YAML 锚点不同 您也可以使用 reference 标签来重用包含的配置文件中的配置
  • 向使用 pandas 制作的绘图添加标签和标题

    我使用以下代码制作了一个简单的直方图 a a a a a b b c c c d e e e e e pd Series a value counts plot bar 虽然这是绘制频率直方图的简洁方法 但我不确定如何自定义绘图 即 添加标
  • iOS7 Sprite Kit 如何禁用精灵上的触摸以使其“点击通过”?

    我知道对于传统的 UIView 我可以将 启用用户交互 标志设置为 NO 视图将不再响应触摸 让其下面的视图接收触摸 是否有某种方法可以在 Sprite Kit 中实现相同的 点击通过 功能 到目前为止 我只看到人们使用 触摸开始 了解要点