如何暂停和恢复应用于 ccSprite 的操作?

2023-12-12

我创建了一个像这样的动画

        [[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:
     @"Actor.plist"];
    spriteSheet = [CCSpriteBatchNode batchNodeWithFile:@"Actor.pvr.ccz"];
    [self addChild:spriteSheet];
    NSMutableArray *walkAnimFrames = [NSMutableArray array];
    for(int i = 1; i <= 8; ++i) {
        [walkAnimFrames addObject:
         [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:
          [NSString stringWithFormat:@"clip000%d.png", i]]];
    }
    CCAnimation *walkAnim = [CCAnimation 
                             animationWithFrames:walkAnimFrames delay:0.07f];
    playWalkSound = [CCCallFuncN actionWithTarget:self selector:@selector(PlayRunningSound:)];

    walkAction = [CCRepeatForever actionWithAction:[CCAnimate actionWithAnimation:walkAnim restoreOriginalFrame:NO]];
    [actor runAction:[CCSpawn actions:walkAction, nil]];

我想在特定帧和特定触发器上暂停此动画。然后在特定触发后再次恢复动画。

我尝试使用 stopAction,然后再次使用 runAction。但经过一些迭代后它就停止工作了。我需要再次创建动画和动作才能再次运行该动画。

我尝试使用pauseSchedulerAndAction和resumeSchedulerandAction,但随后游戏暂停,如果我尝试再次触发暂停而不恢复游戏崩溃。

是否有任何东西可以在特定帧上暂停动画并从同一帧再次恢复。


我通过创建 1 帧动画解决了我的问题

[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:
 @"Actor.plist"];
spriteSheet = [CCSpriteBatchNode batchNodeWithFile:@"Actor.pvr.ccz"];
[self addChild:spriteSheet];
NSMutableArray *walkAnimFrames = [NSMutableArray array];
for(int i = 1; i <2; ++i) {
    [walkAnimFrames addObject:
     [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:
      [NSString stringWithFormat:@"clip000%d.png", i]]];
}
CCAnimation *walkAnim = [CCAnimation 
                         animationWithFrames:walkAnimFrames delay:0.07f];
playWalkSound = [CCCallFuncN actionWithTarget:self selector:@selector(PlayRunningSound:)];

walkAction = [CCRepeatForever actionWithAction:[CCAnimate actionWithAnimation:walkAnim restoreOriginalFrame:NO]];
[actor runAction:[CCSpawn actions:walkAction, nil]];

我使用上面的代码来暂停我的动画动作。当我想恢复动画动作时添加以下代码。

[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:
     @"Actor.plist"];
    spriteSheet = [CCSpriteBatchNode batchNodeWithFile:@"Actor.pvr.ccz"];
    [self addChild:spriteSheet];
    NSMutableArray *walkAnimFrames = [NSMutableArray array];
    for(int i = 1; i <= 8; ++i) {
        [walkAnimFrames addObject:
         [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:
          [NSString stringWithFormat:@"clip000%d.png", i]]];
    }
    CCAnimation *walkAnim = [CCAnimation 
                             animationWithFrames:walkAnimFrames delay:0.07f];
    playWalkSound = [CCCallFuncN actionWithTarget:self selector:@selector(PlayRunningSound:)];

    walkAction = [CCRepeatForever actionWithAction:[CCAnimate actionWithAnimation:walkAnim restoreOriginalFrame:NO]];
    [actor runAction:[CCSpawn actions:walkAction, nil]];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何暂停和恢复应用于 ccSprite 的操作? 的相关文章

  • 导出 iPhone 地址簿数据库的可能方法

    我想将 Phone s Address Book sqlite db 导出到我的 iPhone 应用程序中 我在网上搜索过 但一切似乎都在 ABAddressBook 上迭代 但我想知道是否可以以编程方式将 Phone s Address
  • 使用 iOS 分布式应用程序时 Google Cloud Messaging 显示“notRegistered”

    我在 iOS 应用程序上实现了 GCM 服务 我使用 PHP 在服务器上发送 GCM 当应用程序由开发配置文件签名时 它可以完美运行 也就是说 当应用程序使用 GCM 配置注册自身时 它始终返回一个正常运行的设备令牌 我可以使用令牌向设备发
  • 在 iOS 模拟器主屏幕或锁屏中设置壁纸(背景图像)

    当我正在绞尽脑汁思考某件事时 我的脑海中突然出现了这个想法 我们可以将模拟器的主屏幕背景图像设置为我们选择的图像吗 Xcode 3 2 2 模拟器 3 1 3 就是一个很好的例子 Certain versions of the simula
  • 带有子视图的 UIView beginAnimations

    我有一个漂亮且简单的视图 缩放 动画 它以一个点开始并动画到全屏尺寸 UIView beginAnimations nil context NULL UIView setAnimationBeginsFromCurrentState YES
  • Objective-C:在哪里定义宏以便随处可用?

    我有一个 iOS 应用程序 它在许多视图控制器中使用相同的字符串 数字等 所以我认为最好在一个文件中定义这些常量并在所有视图控制器实现中使用它 优点是更改一个数字 我只需要做一次 而不是在所有视图控制器中都使用该数字 实际上 我的 h 文件
  • NSDictionary 上的 NSPredicate

    我试图根据字母表在表格视图中创建部分 并在这些部分下按字母顺序对我的条目进行排序 我已经收集了 bandArrayIndex 中 bandArray 每个条目的第一个字母 现在我尝试使用 NSPredicate 来计算每个字母有多少个 我正
  • iPad 照片选择器崩溃

    我正在使用以下函数根据 UIActionSheet 的结果激活设备相机或图像选择器 如果 fromCamera YES 那么它适用于 iPhone 和 iPad 如果 fromCamera NO 那么它可以在 iPhone 上运行并出现图像
  • 如何知道用户何时更改设置包

    我让用户在 iPhone 的设置区域中更改他们的设置 在下一次网络同步期间 我想将用户更改发送到服务器 但前提是做出改变 但是我如何知道用户何时在设置区域中进行了更改 如果可以的话 我想避免选择总是发送信息 无论是否更改 或者首先从服务器获
  • 如何打开定位服务

    当有人第一次拒绝时 如何从实际应用程序重新打开定位服务 我可以选择关闭或打开它 您只能提示他们在屏幕上打开定位服务 如下所示 UIApplication sharedApplication openURL NSURL URLWithStri
  • 如何在 Core Data 中存储图像?

    只是猜测 我创建一个属性并将其类型设置为 二进制 但最终我该如何使用它呢 我猜幕后有一个 NSData 那么该属性实际上采用 NSData 吗 这个问题已经被问过很多次了 答案有点复杂 当涉及二进制数据时 您应该根据要使用的数据的预期大小来
  • 使用 iPhone 中的地图视图读取当前位置名称

    我读取了当前位置的纬度和经度值 然后成功将该位置固定在 iPhone 中 现在我想使用这个纬度和经度值读取该地名 我使用以下代码来读取查找当前位置 void mapView MKMapView mapView1 didUpdateUserL
  • 持久化 UINavigationItem 的 rightBarButtonItem 属性

    这可能是一个愚蠢的问题 但是有可能保持正确的吗 UIBarButtonItem跨由一个管理的多个视图UINavigationController 我的一系列观点通常具有相同的权利UIBarButtonItem 但是当我将新视图推送到我的UI
  • 在 XCode 中链接静态 ObjC 库的过程

    我正在尝试链接到静态库 但不断收到链接器错误 我发现了一些发布示例的网站 但我无法看到我做错了什么 首先 我创建一个链接到我的库的项目 添加 gt 现有文件找到我的 xcodeproj 文件选择 将项目复制到目标组文件夹 选择我的宿主项目作
  • 忽略触摸事件,让其下面的视图处理触摸?

    我有一个用户可以触摸的可拖动视图 但它的某些矩形将没有图像 alpha 0 当用户单击透明区域时 我能够在没有 alpha 信息的情况下构造透明区域 我希望透明区域下方的视图 同一类 来检测触摸 我的策略是当用户触摸透明区域时让视图忽略触摸
  • 如何禁用 iPhone 邮件应用程序中的电话号码链接?

    我的公司正在发送数字电子邮件收据 但遇到了 iPhone Mail 检测数字数据并将其自动链接为电话号码的问题 我已经看到元标记应该可以解决 iPhone 上的 Mobil Safari 中的问题 但该技巧似乎不适用于 Mail 有谁知道如
  • UIImageJPEGRepresentation 在视网膜显示屏上提供 2x 图像

    我有这段代码 它创建一个图像 然后向其添加一些效果并缩小其大小以使其largeThumbnail UIImage originalImage UIImage imageWithData self originalImage thumbnai
  • UIView晃动动画

    我试图在按下按钮时使 UIView 摇动 我正在调整我找到的代码http www cimgf com 2008 02 27 core animation tutorial window shake effect http www cimgf
  • 如何检测用户是否第一次打开应用程序[重复]

    这个问题在这里已经有答案了 是否可以检测用户是否是第一次打开iOS应用程序 使用Objective C 我想在用户第一次打开应用程序时显示欢迎消息 但之后不再向他们显示 我正在寻找类似的东西 BOOL firstTime AppDelega
  • Flutter 应用程序在 iOS 平台的 firebase 电话身份验证中崩溃

    我在我的项目中实现了 Firebase Phone auth 在 Android 端 一切正常 但对于 iOS 端 当我尝试从我的端发送验证码时 应用程序崩溃并失去连接 我已在下面提交了我的代码 主程序 dart class MyApp e
  • iPhone 上的语音识别

    我需要开发一个识别语音的 iPhone 应用程序 并根据结果执行进一步的任务 我知道iPhone 3 0不支持语音识别 我需要在服务器端实现语音识别软件 我只知道这个事情 因为我是新手 所以我不知道如何处理 意味着我需要购买哪些软件并在服务

随机推荐

  • 为什么 C 不允许数组返回类型?

    为什么这在 C 中有效 int foo int a int b 但这是无效的 int foo int a int b 语法有点有趣 int foo int a int b 但无论如何也是不允许的 请参阅 n1256 6 7 5 3 第 1
  • 如何在linux中不打开一个文件两次?

    我有一个链表 其中包含一个 fd 和一个字符串 我用来在每个条目中打开此文件 仅当此文件尚未打开时 我才想打开文件并将其添加到此列表中 因为我打开并解析此文件并且不想执行两次 我的想法是将文件名与此列表中的每个名称进行比较 但我的程序会多次
  • 如何使链接组件peerDepdcies使用所链接脚本的等效node_modules?

    我在用npm版本 3 版本相关 因为新方法peerDependencies在版本 3 中表现 我有一个reactjs名为 游戏 的应用程序和一个reactjs称为 玩家 的组件 我在用webpack dev server运行 游戏 应用程序
  • NSDateFormatter 不会格式化奇怪的日期字符串

    因此 我收到的日期字符串如下所示 2013 03 20T21 13 26 7 00 这是我从网络后端收到的 我无法控制后端 仅供参考 我的偏好是日期格式如下 3 月 20 日晚上 9 13 当我执行以下操作时 NSDateFormatter
  • Twitter API 的 Meteor.http.get 问题

    我正在一个项目中使用 Meteor 和 Twitter API 我想从 Twitter 获取有关用户的信息 我编写了一个函数 例如仅返回 Twitter 用户的位置 我相信这是在 Meteor 上发出请求的正确方法 这里是 Meteor m
  • AngularJS 在 forEach 循环中顺序链式 Promise

    我一直在进行大量搜索 试图找到解决方案 并相信它最终会兑现我的数据返回时的承诺 但一切都在最后 因为我在每次迭代中都需要它 我有 vm planWeek dinner 我循环遍历每一行 并向其附加 menuType 和 trackMenuI
  • 无法检查本地声明的变量

    有时 当我在 Eclipse 中调试代码时 虽然我可以毫无困难地查看和检查类成员变量 但我无法检查函数中本地声明的变量的值 顺便说一句 当前函数的任何参数都会丢失其 真实 名称 而是在 变量 窗口中看到它们的值列为 arg0 arg1 ar
  • 在 Typescript 中从其他模块引用模块的正确方法

    我正在 Typescript 中为 NodeJS 编写一个模块 我正在尝试使用此模块处理请求 应该是 IncomingMessage 对象
  • 为什么我没有使用100%? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我正在 IBM WebSphere Application Server v8 5 5 1 中执行一个长时间运行的批处理过程 该过程从 ECM 存储库获取数据 然后将其转换为 PDF
  • javascript 检查字符串是否只包含字母

    所以我尝试了这个 if a zA Z test word code 它不接受这一点 但它确实接受这一点 word word 其中确实包含空格 有没有好的方法可以做到这一点 With a zA Z 您只检查第一个字符 断言字符串开头的位置 a
  • 使复选框的行为类似于单选按钮

    请看这个 http gisdev clemson edu fireflies 右上角是三个复选框 我试图让它们像单选按钮一样工作 部分编程是有效的 但这里有一些问题 最初 县 复选框被选中 如果我单击 Hydric Soil Rating
  • ListView / ExpandableListView setEmptyView() 没有效果

    我试图为三个列表视图设置空视图 即 2 个可扩展视图和 1 个列表视图 它们位于不同的选项卡中 LayoutInflater inflater getLayoutInflater View emptyView inflater inflat
  • C# .NET 检查浏览器是否是移动设备 - 什么是最可靠的方法?

    我知道我可以使用Request Browser IsMobileDevice 但有谁知道它是如何工作的 以及它是否可靠且是最新的 Thanks 您需要定期更新 BrowserCaps 以使其保持最新状态 http www asp net m
  • PHP 中如何检查文本文件是否为空?

    PHP 中如何检查文本文件是否为空 我尝试了在互联网上找到的内容 如下 if filesize data txt echo The file is empty 还有这个 if 0 filesize data txt echo The fil
  • 将 wix 网站重定向到新的外部网站

    我刚刚为一个协会创建了一个新网站 客户要求我将他们的旧 wixsite 网站重定向到新网站 有人有解决方案吗 非 Wix 网站似乎更复杂 我根本不知道wix是如何工作的 希望有人能给我一些帮助 我找到了一种方法来做到这一点从 Wix 重定向
  • 使用 VBA 和 xPath 循环遍历 XML 文件

    我一直在 MS Project VBA 代码中使用 xPath 解析 提取 XML 为什么我无法在这个节点中选择一个节点 Set nodes xml SelectNodes config ProjectFile For Each node
  • 数据表日期过滤器

    我有一个日期列 格式为 17 03 2012 我希望能够选择开始日期和结束日期 如果上面的 1 个日期列在此日期范围内 它将过滤该列 下面是我使用的代码 Start Date
  • 计算 epub 的总页数

    我是 epub 新手 我有许多不同的 epub 格式文件 我将使这些文件在线可读 我不太了解 epub 文件中的内容 有什么方法可以让我知道我的页面有多少页epub文件 我可以使用xml javascript PHP或任何其他方式 如果有
  • 无法初始化连接器[重复]

    这个问题在这里已经有答案了 严重 无法初始化组件 Connector org apache coyote http11 Http11AprProtocol 8443 org apache catalina LifecycleExceptio
  • 如何暂停和恢复应用于 ccSprite 的操作?

    我创建了一个像这样的动画 CCSpriteFrameCache sharedSpriteFrameCache addSpriteFramesWithFile Actor plist spriteSheet CCSpriteBatchNode