使用捏合手势在运行时缩放 SCNNode

2024-02-13

我正在尝试使用捏合手势实时缩放和 SCNNode:

这是我当前的代码

let pinchGestureRecognizer = UIPinchGestureRecognizer(target: self, action: #selector(handlePinch(from:)))
sceneView.addGestureRecognizer(pinchGestureRecognizer)

@objc
func handlePinch(from recognizer: UIPinchGestureRecognizer){
  var pinchScale = recognizer.scale
  pinchScale = round(pinchScale * 1000) / 1000.0

  sceneView.scene.rootNode.enumerateChildNodes { (node, stop) -> Void in
    if(node.name == "Box01"){
       node.scale = SCNVector3(x: pinchScale, y: pinchScale, z: pinchScale)
    }
  }        
}

但是节点的规模没有变大或变小?有人可以指出我的错误吗?

SCNNode 已加载并应用了动画,如下所示,

sceneView.scene.rootNode.addChildNode(node)
loadAnimation(animation: .Attack, sceneName: "art.scnassets/attack", animationIdentifier: "attackID");

让它快速工作

@objc func handlePinch(gesture: UIPinchGestureRecognizer){
    if(scnnodeSelected){

        if (gesture.state == .changed) {
            let pinchScaleX = Float(gesture.scale) * tappedObjectNode.scale.x
            let pinchScaleY =  Float(gesture.scale) * tappedObjectNode.scale.y
            let pinchScaleZ =  Float(gesture.scale) * tappedObjectNode.scale.z
            tappedObjectNode.scale = SCNVector3(pinchScaleX, pinchScaleY, pinchScaleZ)
            gesture.scale=1
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用捏合手势在运行时缩放 SCNNode 的相关文章

  • 如何在 Mac 操作系统中播放声音?

    我想在专为 Mac OS X Lion 10 7 而不是 iPhone 设计的 Objective C 应用程序中播放 mp3 文件 谢谢 看看NSSound http developer apple com library mac doc
  • FCM 通知在 iOS 应用程序中不起作用

    我正在我的应用程序中集成 FCM 通知和云消息传递 我已按照 Firebase 文档中提到的完全相同的步骤进行操作 即使我已经尝试过 FCM 给出的示例代码 它只是发出一些警告
  • Objective-c 截断字符串并在末尾添加省略号

    如何在 Objective C 中截断字符串 然后在末尾添加省略号 NSString origString A very long string blah blah blah const int clipLength 18 if origS
  • 越狱后,iOS应用程序会以root权限运行吗?

    一旦 iOS 设备越狱 我们就可以构建越狱应用程序 使用 theos 并将其安装在 Applications预加载应用程序以 root 权限运行的目录 如果应用程序是使用 Xcode 构建的 一旦安装 它就会进入 private var m
  • GIT 中的 Fastlane 应用程序文件?如何检索当前的 apple_id?

    我为我的 XCode 项目设置了 Fastlane 来实现构建自动化 至少 Fastfile 包含构建选项 应该位于 GIT 中 但我也很高兴 Appfile 团队标识符 也位于 GIT 中 主要问题 Appfile 应该包含我的 appl
  • 如何在 Xcode 8 中更改应用程序显示名称以添加空格

    我试图在 Xcode 8 中的应用程序名称 独立贴纸包 中添加一个空格 我在这里看到的解决方案是更改产品名称 在包装中 或更改 捆绑显示名称 我更改了产品名称 但没有起作用 我清理 重建 重置模拟器中的内容和设置 并注销 xcode 重新登
  • 设备锁定时扫描外围设备

    我的中央管理器可以在前台和后台检测新的外围设备 我知道这一点是因为当它发现新的外围设备时我会触发 UNNotification 但是 当设备锁定时 它似乎不会继续扫描新的外围设备 在我的能力范围内 我启用了使用 LE 配件的后台模式以及远程
  • 为什么一个崩溃日志具有象征意义,而不是另一个?

    我在 XCode Organizer 中有两个来自 iPhone 应用程序的崩溃日志 两者相隔 20 分钟内发生 在同一台设备上运行相同版本的应用程序 其中一个已被象征化 而另一个则没有 无符号日志具有类型和代码 Exception Typ
  • GMSMarker 不透明度动画不重复

    我正在尝试使带有自定义图标的 GMSMarker 以衰减的动画不透明度闪烁 动画应该重复几次 但事实并非如此 它只执行一次转换 然后就停止了 这种情况仅在对不透明度属性进行动画处理时发生 在对其他属性进行动画处理时效果很好 这是代码 GMS
  • AVAudioPlayer 在 iPhone 5 中无法工作

    我正在开发一个 iPhone 应用程序 在这个应用程序中 我使用 AVAudioPlayer 来播放音频 这是我播放声音的代码 NSString resourcePath NSBundle mainBundle resourcePath r
  • 以编程方式设置 UITabBarItem 标题?

    我的应用程序基于标签栏架构 为了有一个简单的国际化机制 我不在 XIB 文件中写入任何字符串 viewdidload 允许以编程方式更改视图中的字符串 当我的应用程序启动时 我可以看到 4 个选项卡 但实际上只有第一个加载其视图控制器 其他
  • SpriteKit内存管理预加载缓存和fps问题

    我的问题非常简单 根据苹果文档 您可以在呈现场景之前将纹理预加载到 RAM 中 如下所示 SKTextureAtlas atlas SKTextureAtlas atlasNamed effect circle explode SKText
  • 正常运行时间 iOS Objective-C - 毫秒精度

    我正在努力争取 iOS 的正常运行时间 我正在使用 mach absolute time 但我发现它在睡眠期间暂停 我找到了这个片段 time t uptime struct timeval boottime int mib 2 CTL K
  • 如何强制重装iOS模拟器?

    我想下载模拟器组件 Xcode 6 2 但在下载过程中我的互联网连接丢失了 Xcode 仍然显示我已经安装了 7 1 模拟器 你知道如何强制重装iOS模拟器吗 我已完成以下步骤 从 Library Caches com apple dt X
  • 如何捕获 UITableView / UIScrollView 完整内容的 UIImage 并使其在 ios 设备上工作

    我正在使用这段非常优雅的代码获取 UIScrollView 的屏幕截图 包括屏幕外部分 https stackoverflow com questions 3539717 getting a screenshot of a uiscroll
  • iOS 11.x 系统颜色

    我读过很多关于如何自定义视图颜色的文章 但没有任何关于检索标准控件 如 iOS 11 x 或以前版本中的导航栏 状态栏和选项卡栏 的系统颜色的文章 UIColor 类有 3 种系统颜色 但它们几乎没有用 例如 调用 UINavigation
  • 使用 Objective-C 将 XMP 数据嵌入到 PNG

    我需要将自定义 XMP 文件嵌入到 iOS 应用程序中的 PNG 中 到目前为止 我能做的就是编译 Adob e XMP 工具包 生成 Xcode 项目 然后正确编译该项目 从那里我不知道如何在我的 Xcode 项目中使用该库以及如何使用它
  • 捆绑 pathsForResourcesOfType:inDirectory:

    在我的应用程序中 我有很多图片 分为几个类别 以下是项目内和我的硬盘上的应用程序树 ApplicationName Resources Thumbs Images Buttons Default png 在拇指文件夹中 我有很多 png 文
  • 如何让 CAAnimation 在每个动画周期调用一个块?

    我可以以某种方式在 CAAnimation 的每个 tick 上执行一个块吗 它可能像下面的代码一样工作 如果有办法用选择器来做到这一点 那也是可行的 NSString keyPath position x CGFloat endValue
  • Xcode 8 - 删除了一些按钮边框

    我刚刚将 Xcode 版本从 7 3 更新到 8 0 一些按钮边框消失了 代码看起来很好 所以我真的不知道各层发生了什么 顺便说一句 在其他一些控制器中我可以看到图层边框 self button layer borderColor bord

随机推荐

  • 编写 gem 时设置配置设置

    我正在编写一个 gem 我希望它可以在有或没有 Rails 环境的情况下工作 我有一个Configuration允许配置 gem 的类 module NameChecker class Configuration attr accessor
  • 在列表(或其他数据结构)中有效插入多个元素并保持其顺序

    我有一个项目列表 应该一个接一个地插入到类似列表的数据结构中 并且我有每个项目应该插入的索引 例如 items itemX itemY itemZ indexes 0 0 1 预期的结果是有一个像这样的列表 result itemY ite
  • C++ 模板类;任意容器类型的函数,如何定义它?

    好的 简单的模板问题 假设我定义我的模板类是这样的 template
  • 在 macOS 上的 MAMP 或 XAMPP 上安装 phalcon 时出现错误

    我正在尝试在 macOS 上的 xampp 或 MAMP 上安装 phalcon 请告诉我如何在 MAMP 上正确安装 phalcon 我在 XAMPP 上安装时遇到相同的错误 我用这个教程https madebyextreme com i
  • 通过连接到满足某些条件的另一个表的最新记录来更新表

    我试图避免为此解决方案使用循环的冲动 而是使用基于集合的操作 我需要根据最近出现的与另一个表的连接来更新表中的每条记录 我的第一个想法是加入到我需要 最近日期 的表并根据连接条件进行分组 但是使用GROUP BY with UPDATE是无
  • new() 没有 delete() 是未定义行为还是仅仅是内存泄漏? [复制]

    这个问题在这里已经有答案了 可能的重复 内存泄漏是 C 中的 未定义行为 类问题吗 https stackoverflow com questions 1978709 are memory leaks undefined behavior
  • 使用 terraform 部署 Azure 功能

    我有以下 terraform 代码 用于使用 zip 部署将函数应用程序和函数部署到 Azure 门户 terraform required providers azurerm source hashicorp azurerm versio
  • 查找适用于 Windows 的 javafx jar 文件

    有谁知道在哪里可以找到该jar文件javafxWindows 的包 我只能找到 zip 文件和 exe 文件 有人可以回答并提供下载包的链接吗 您需要首先安装 javafx sdk 2 0 1 windows i586 exe 这将在您的计
  • 无法将 Firebase 导入到 Swift 类中

    我对 Firebase 和构建 iOS 应用程序完全陌生 在 Xcode 7 中 我尝试将 Firebase 导入到我的 Swift 类中 在一个 swift 文件中 我输入了 import Firebase 我收到一条错误消息 没有这样的
  • MvvmCross 5.4 在 ConsoleLogProvider 中使用 NullRef 启动应用程序时崩溃

    我已更新我的 Xamarin Android 应用程序包MvvmCross from 5 3 2 to 5 4并且应用程序在启动时开始崩溃 我手动确定原因是链接器 我有link SDK libs only选项已启用 随着None选项它工作得
  • Spinner 的 RxBindings?

    我是新的 android 和 rxjava 我经历过很多使用 rxbindings 监听事件的例子 比如这个 RxView clicks b subscribe new Action1
  • Java,如何绘制不断变化的图形

    以前没有这样做过 所以显然我很糟糕 这里 当前鼠标位置周围的 64 像素在表单上绘制得稍大一些 问题是 它 有点 慢 而且我不知道从哪里开始修复 除此之外 我创建了一个线程 在完成后不断调用更新图形和一些类似文本的 fps 以真正显示绘制事
  • RabbitTemplate 接收并重新排队

    我想从队列接收消息并立即将它们出队 事实上我想模仿rabbitMQ管理控制台的行为 它可以接收消息并将其重新排队 所以我的问题是如何做到这一点 起初 我试图克隆消息并重新发送它们 但rabbitTemplate似乎无法将消息直接发送到队列
  • Heroku 登录错误:证书链中的自签名证书

    我正在尝试在 Mac 上使用 Heroku CLI 当我尝试使用 Heroku 登录名登录 Heroku 并提供我的凭据时 出现以下错误 错误 证书链中的自签名证书 我已多次尝试卸载并重新安装它 但仍然收到此错误 我该如何解决 由于我的组织
  • 传递任意大小的二维数组

    您好 我正在研究排序算法 为此我想制作一个简单的程序来从文本文件中获取整数数组 在这样做的同时 我遇到了一些关于将它们作为参数的数组和函数的麻烦和问题 这是我所做的 include
  • MySQL 中的复合主键性能缺陷

    我们有一个表 其复合主键由三个字段组成 在 MySQL 5 1 中 该表每秒有近 200 次插入和 200 次选择 表的大小约为 100 万行 并且还在不断增加 我的问题是 复合主键 是否会降低该表上的插入和选择的性能 我应该使用简单的自动
  • 正确实现不同类型但语义等效的两个对象的比较

    我发现了类似的问题 如何比较具有相似属性的两个截然不同的对象 https stackoverflow com questions 1725327 how to compare two distinctly different objects
  • 使用 shell 脚本从文件中提取唯一的行块

    从文件中提取行块时 我遇到了一些问题 考虑以下两个文件 File 1 1 20 abc this is test 1 perl RRP RRP 1 30 JEDI JEDIExportSuccess2 exec perl RRP RRP 1
  • 如何在 Jenkins 管道脚本中使用 source 命令

    我最近将 bash 执行命令重写到 Jenkins 管道中 旧的代码就像 source environment sh Build Test 现在我使用管道脚本来包装命令 如下所示 sh source environment sh Build
  • 使用捏合手势在运行时缩放 SCNNode

    我正在尝试使用捏合手势实时缩放和 SCNNode 这是我当前的代码 let pinchGestureRecognizer UIPinchGestureRecognizer target self action selector handle