修改正在运行的SKAction的速度

2023-12-12

我有这个代码:

@implementation MyScene {
SKAction *delayAction; 
}
Inside a method:

delayAction = [SKAction waitForDuration:3.0];
[self runAction:[SKAction repeatActionForever: [SKAction sequence:
                                                @[delayAction, [SKAction ...]]]]]
                                                  withKey:@"myKey"];

然后我想减少加班时间。 (此方法在更新时调用:) 所以我尝试了:

    - (void)updateVelocity
{
    NSLog(@"duration:%f",delayAction.duration);
    delayAction.duration = delayAction.duration - 0.001;
}

我得到:

2014-04-04 11:45:05.781 FlyFish[5409:60b] duration:1.300000
2014-04-04 11:45:05.785 FlyFish[5409:60b] duration:1.299000
2014-04-04 11:45:05.800 FlyFish[5409:60b] duration:1.298000
2014-04-04 11:45:05.816 FlyFish[5409:60b] duration:1.297000

这看起来不错,但我的 [SKAction ...] 在 3 秒后仍然继续重复。


我会用不同的方式来做这件事。像这样的东西...

- (void)recursiveActionMethod
{
    if (some end condition is met) {
        return;
        // this allows you to stop the repeating action.
    }

    self.duration -= 0.01;
    // store duration in a property

    SKAction *waitAction = [SKAction waitForDuration:self.duration];
    SKAction *theAction = [SKAction doWhatYouWantHere];
    SKAction *recursiveAcion = [SKAction performSelector:@selector(recursiveActionMethod) onTarget:self];

    SKAction *sequence = [SKAction sequence:@[waitAction, theAction, recursiveAction]];
    [self runAction:sequence];
}

这将执行您的操作,然后返回到该函数以不同的等待时间再次运行,一次又一次,...

您甚至可以通过设置一些结束条件来停止序列,这些结束条件会跳转到 if 块内并停止循环。

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

修改正在运行的SKAction的速度 的相关文章

  • 如何区分 iTunes Connect / Apple TestFlight 上的 STAGE 和 PRODUCTION 版本?

    阶段构建与阶段服务器的对话 阶段服务器与生产服务器尽可能相同 以用于测试目的 生产构建与生产服务器的通信 生产服务器存储真实的关键数据 这些构建本质上是针对同一应用程序的 但是 iTunes Connect 界面将向您显示以下内容 即构建由
  • 为具有多个目标和不同平台的项目编写 Podfile

    我正在准备一个支持 OS X 和 iOS 的 Pod 我的 pod 有一些自己的依赖项 这些依赖项在 podspec 文件中定义 因此我使用 Podfile 来管理我用来开发 pod 和运行测试的项目的依赖项 我正在使用 CocoaPods
  • 如何编辑应用程序包中的文件?

    在我的应用程序中 我从存储在捆绑资源中的 CSV 文件加载数据 但是 我希望能够在用户点击 更新 按钮时以编程方式更新此文件 有没有办法以编程方式更改应用程序包中的资源 这是我用来访问该文件的代码 NSString path NSBundl
  • 在 ios 版 Ionic 中接收 URL

    我正在使用离子框架 我正在尝试设置一种从另一个应用程序接收网址的方法 就像 您在浏览器中 单击共享 然后将链接发送到另一个应用程序 我的应用程序 我找到了这个cordova https stackoverflow com questions
  • iOS Swift 在后台下载大量小文件

    在我的应用程序中 我需要下载具有以下要求的文件 下载大量 例如 3000 个 小 PNG 文件 例如 5KB 逐个 如果应用程序在后台继续下载 如果图像下载失败 通常是因为互联网连接丢失 请等待 X 秒然后重试 如果失败Y次 则认为下载失败
  • 在 UITableViewController 中重新排序行后 UI 更新不正确

    因此 我对表中的行重新排序 用户界面最终结果不正确 场景如下 表内容原文 a b c d e 如果我移动第 0 行 当前a 到第 4 行 当前e 我看到的最终结果是 c d e a a 一些背景 该表正在读取 Realm 对象的列表 我确认
  • 将 Armadillo C++ 库导入 Xcode

    我是 Mac 用户 正在尝试安装和导入 C Armadillo 库 以下是我到目前为止所采取的步骤 1 我从其网站下载了犰狳库 2 我仔细阅读了下载文件中的 Readme txt 文件 解释了如何安装它 3 我使用CMake将犰狳下载文件制
  • NSURLCache 不缓存

    我正在使用 Xcode 6 1 6A1030 iOS7 和 iOS8 模拟器 NSURLCache 似乎没有缓存任何东西 我使用 Cache Control 标头 我的服务器返回带有 max age 6000 的 Cache Control
  • 访问 google reader 的 Endpoints API 时出错

    我正在尝试在iPhone APP中实现google reader 到目前为止我已经成功收到了sid and auth 当我尝试使用以下命令调用 Endpoints API 时 问题就出现了GET 这是代码 ASIHTTPRequest re
  • 如何将CIFilter应用到UIView上?

    根据Apple docs 过滤属性CALayer不支持iOS 当我使用正在申请的应用程序之一时CIFilter to UIView即 Splice Funimate 和 Artisto 的视频编辑器 Videoshow FX 这意味着我们可
  • TTTAttributedLabel 可点击截断标记

    我有一个 TTTAttributedLabel 并为其指定了一个自定义属性截断标记 NSAttributedString atributedTruncationToken NSAttributedString alloc initWithS
  • 如何为 Nslocal 通知设置自定义重复间隔......?

    我是 iphone 开发新手 我正在尝试在我的项目中使用 NslocalNotification 我需要每 2 小时或每两天或每两个月等给出提醒 目前我正在使用 NslocalNotification 重复间隔 但它仅适用于使用 Ncale
  • 在 Swift 中以编程方式为 iOS 制作带有名字首字母的图像,例如 Gmail

    我需要在 UITableView 中显示与其姓名相对应的每个用户的个人资料图片 在下载图像之前 我需要显示一张带有他名字的第一个字母的图像 就像在 GMail 应用程序中一样 如何在 Swift for iOS 中以编程方式执行此操作 不需
  • 使用 ZBarSDK 时 iPhone 相机失去自动对焦功能

    我正在开发一个应用程序 用户可以选择是否要扫描条形码或拍摄某物的照片 为了拍照 我正在使用UIImagePickerController照常 为了扫描条形码 我使用 ZbarSDK 1 2ZBarReaderViewController 拍
  • iOS Swift 和 reloadRowsAtIndexPaths 编译错误

    我与 xCode Swift 陷入僵局并刷新 UITableView 的单行 这条线有效 self tableView reloadData 而这条线没有 self tableView reloadRowsAtIndexPaths curr
  • UILabel UILongPressGestureRecognizer 不起作用?

    我怎样才能得到UILongPressGestureRecognizer在 uilabel 当我实现以下代码时 它不会调用该函数 那么请告诉我我做错了什么 UILongPressGestureRecognizer longPress UILo
  • 领域:结果 和列表

    是否可以转换Results
  • 如果我在 iTunes Connect 中点击“拒绝二进制文件”来提交更新的二进制文件,我会失去排队的位置吗?

    我已通过 iTunes Connect 向 App Store 提交了一个应用程序 状态为 审核中 我不知道这是否意味着他们真的开始关注它 我怀疑这只是意味着它已被放入审阅者队列中 在它发布之前我想添加一个调整 但是 如果这意味着点击 拒绝
  • 如何观察UserDefaults的变化?

    我有一个 ObservedObject在我看来 struct HomeView View ObservedObject var station Station var body some View Text self station sta
  • 游戏中心邀请处理程序,它属于哪里?

    我已经搜索了该网站并发现了这个 GameCenter 邀请处理程序 https stackoverflow com questions 4639284 gamecenter invitation handler He says 正如文档中所

随机推荐

  • Spring Batch:使用新线程从 Spring MVC 控制器中启动作业

    我有一个从 Spring MVC 控制器启动的 Spring Batch 作业 控制器从用户处获取上传的文件 并且作业应该处理该文件 RequestMapping value upload public ModelAndView uploa
  • 声音将在 Eclipse 中播放,但不会在导出的 jar 文件中播放

    当我运行 JAR 时 声音不播放 但当我在 Eclipse 中运行它时 声音会播放 这是我加载剪辑的位置 文件是从 jar 的目录加载的 而不是从 jar 内加载 public void init System out println gr
  • Firebase 崩溃无法读取

    我在阅读 FireBase 上的崩溃报告时遇到问题 我的报告如下所示 我已经关注了这些说明来表示堆栈跟踪 得到了相同的结果 我正在使用 Xcode 8 我的应用程序是用 Swift 3 制作的 已经在我的中写了 FIRApp configu
  • 如何在 flutter 中制作自定义按钮形状

    I am working on a project and i want to achieve a button 我怎样才能轻松地做出这个形状 您可以使用定制画家 看一下这个很好的例子关于如何使用这个 这是您想要实现的一个小示例 虽然我没有
  • 为 Log4j 配置 Eclipse

    我正在开发一个使用 apache jena 的应用程序 以使用 sparql 访问 dbpedia 嗯 我对 DBPedia 和 apache jena 非常陌生 我做了一些研究并开始使用一些示例代码来创建 VCARD 公共类 DpPedi
  • 如何从 SQLite 获取最近 3 小时的数据

    我正在使用当前系统时间在表中插入数据 例如System currentTimeMillis 因此 在获取数据时 我只需要获取最近 3 小时的数据 以下链接对我没有帮助 因为这个链接使用了我没有的特定日期格式 从sqlite中根据最近几个小时
  • 事件 - 文档已编辑

    编辑文档时是否有事件 如果没有 有谁知道我在哪里可以找到可用 VBA 事件的列表 以下是文档对象的事件 http msdn microsoft com en us library aa140279 office 10 aspx Events
  • 关于 Runtime.getRuntime().totalMemory() 的问题

    以下函数用于计算内存使用情况 private static long getMemoryUse putOutTheGarbage long totalMemory Runtime getRuntime totalMemory putOutT
  • 单一资源的嵌套 form_

    我有一个单一的嵌套资源 如下所示 map resources bookings member gt rate gt post do booking booking resource review end 给我这些路线 new booking
  • 什么是银行冲突? (进行Cuda/OpenCL编程)

    我一直在阅读 CUDA 和 OpenCL 的编程指南 但我无法弄清楚银行冲突是什么 他们只是深入研究如何解决问题 而不详细说明主题本身 有人能帮我理解吗 如果帮助是在 CUDA OpenCL 的背景下 或者只是计算机科学中一般的银行冲突 我
  • 在 RECYCLER VIEW 中添加页脚视图?

    我想在回收器视图的底部添加页脚布局 下面是我的适配器视图 它会膨胀页眉布局以及其他项目 感谢帮助 public class SplitMembersAdapter extends RecyclerViewAdapter
  • MySql 存储过程循环光标 - 语法错误

    语法错误在哪里 DECLARE irid INT DEFAULT 0 DECLARE tmp joinid INT DEFAULT 0 DECLARE loopjoins eof INT DEFAULT FALSE DECLARE CONT
  • Python:线程可以同时读/写同一个 TCP 套接字吗?

    我想要同一个 TCP 套接字有一个读取器线程和一个写入器线程 可以吗 在访问之前我需要锁定吗 平台是Windows 7 CPython 2 7 4 对于 Unix 内核 两个线程一个读取另一个写入文件 套接字 与两个进程执行相同操作相同 由
  • 如何使用 webview url 发送标头值?

    我开发了一个带有 webview 的 android 应用程序 我想用 url 发送标头值 如果可能的话谁帮我提供一下源代码 Map
  • Java 中的泛型,使用通配符

    我有一个关于 Java 泛型的问题 即使用通配符 我有一个像这样的 GenClass 示例类 public class GenClass
  • 使用 Typescript 和 Visual Studio 2015 运行时进行编辑?

    在 Visual Studio 2013 中使用 Typescript 时 我似乎记得我可以在浏览器窗口中运行 TypeScript 源时编辑它 然后刷新浏览器窗口并获取新的更改 现在 在 Visual Studio 2015 中 Visu
  • DBpedia SPARQL 查询返回多个重复记录

    我对 SPARQL 还很陌生 并且对它现有的多种语法标准感到困惑 我正在努力使用以下查询从 DBpedia 获取唯一数据 SELECT DISTINCT Museum name abstract thumbnail latitude lon
  • Kotlin - 当前实例的返回类型

    我正在 Kotlin 中构建一个验证库 基类是abstract并实现适用于所有类型的方法 isNotNull例如 abstract class Validator
  • 通过 QTcpSocket 发送任何结构

    在写入套接字之前如何将结构转换为 char 形式 Use 数据流 它具有处理 Qt 类的字节顺序 字节顺序 和序列化的优点 简单地将结构转换为 char 可能会导致很多问题 包括字节顺序 编译器填充等 我建议使用流
  • 修改正在运行的SKAction的速度

    我有这个代码 implementation MyScene SKAction delayAction Inside a method delayAction SKAction waitForDuration 3 0 self runActi