如何将 CCSprite 从一个父级转移到另一个父级?

2024-03-04

我有一个CCSprite called sprite那是一个孩子CCLayer called movingLayer它本身就是当前的子项CCLayer运行我的游戏逻辑,所以它是self在这种情况下。movingLayer以永远重复的动作在屏幕上来回移动sprite正在骑着它。我想要得到sprite“下车”movingLayer并“继续”到self它可以自己执行一些操作。

当我尝试这样做时,我需要告诉movingLayer去除sprite and self to add sprite.这就是我所做的...

- (void)attack:(id)sender
{
    [sprite stopAllActions];
    [movingLayer removeChild:sprite cleanup:YES];
    [self addChild:sprite z:1];
    CGFloat distance = ccpDistance(sprite.position, ccp(sprite.position.x, -sprite.contentSize.height/2));
    id goDown = [CCMoveTo actionWithDuration:distance/moveDuration position:ccp(sprite.position.x, -sprite.contentSize.height/2)];
    id repeatDown = [CCRepeatForever actionWithAction:[CCSequence actions:[CCMoveTo actionWithDuration:0 position:ccp(sprite.position.x, sprite.contentSize.height/2+self.contentSize.height)], [CCMoveTo actionWithDuration:moveDuration position:ccp(sprite.position.x, -sprite.contentSize.height/2)], nil]];
    id attackAction = [CCSequence actions:goDown, repeatDown, nil];
    [sprite runAction:attackAction];
}

I think stopAllActions是多余的,但这不是问题。如果我删除sprite from movingLayer在将其添加到之前self我因访问僵尸而崩溃,如果我尝试将其添加到self首先,我因尝试添加已添加的内容而崩溃。


您是否尝试过将清理设置为“否”?

或者,在将精灵从 movingLayer 中删除之前尝试保留它,然后在完成后释放它:

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

如何将 CCSprite 从一个父级转移到另一个父级? 的相关文章

  • 使用 OpenGLES 抗锯齿去除绳索的锯齿状边缘

    我已经实现了绳索 其中我使用 Revolute 关节连接动态 b2bodied 现在我成功创建了这条绳索 但我的绳索看起来不光滑 我希望它们像丝带一样光滑 任何对此有想法的人 我发现它可以通过 openGLES 使用抗锯齿来实现 但仍然不知
  • Cocos2d EXC_BAD_ACCESS

    我是 cocos2d 的新手 突然得到了这个 EXC BAD ACCESS 我做了一个新的获胜菜单 但出现了错误 我认为错误是因为我调用了一个已释放的对象 但我没有释放任何东西 我的调试控制台没有错误 这很奇怪 这是我的 Level 1 m
  • Objective C iPad 动画大图像 - 使用什么方法?

    我正在尝试在 iPad 上构建天气应用程序 但似乎我需要一些动画方面的帮助 假设我正在制作雷达动画 因此雷达源文件有 10 张 900x700 像素大小的 gif jpeg 图片 我已经使用此处的教程尝试了 UIImage 动画技术 htt
  • cocos2d游戏如何实现暂停/恢复?

    我的问题是寻找cocos2d游戏期间暂停 恢复状态 包括所有需要保存的数据信息 的设计解决方案 包括但不限于以下情况 1 用户选择退出 然后弹出一个对话框供用户选择 直接退出 暂停 2 有人打电话进来 弹出对话框供用户选择 退出 或 暂停
  • 如何以编程方式确定我的应用程序正在 iPhone、iPad 或 iPhone 4 上运行?

    我刚刚使用 cocos2d 完成了我的 iPhone 游戏 但在将其发布到 AppStore 之前 我想让它在 iPad 屏幕更大 和 iPhone 4 分辨率更大 上运行 那么 我如何以编程方式确定我的应用程序正在 iPhone iPad
  • 矩形和圆形碰撞检测

    我正在尝试进行矩形和圆形之间的碰撞检测 我想出了这个方法 BOOL isCollidingRect CCSprite spriteOne WithSphere CCSprite spriteTwo float diff ccpDistanc
  • iOS 5 文档目录中存储和读取文件

    在我的游戏中 当完成一个关卡时 应用程序会将 1 存储在应用程序文档目录中的文件中 当游戏加载时 玩家只有在完成前一关后才能玩该关卡 当我通过 Xcode 在设备上测试游戏时 应用程序可以正常运行 并且只有完成上一个关卡后才能玩该关卡 但是
  • Cocos2D 中的评分系统

    我的游戏有碰撞检测功能 当我的导弹击中敌人时 敌人就会消失 我想添加一个评分系统 每次我的导弹击中敌人时都会增加 1 分 我将在下面发布我的游戏代码 我使用了HelloWorldLayer m 这是代码 Link http pastebin
  • 基于 cocos2d-box2d 的项目中出现“'uniqueIdentifier' is deprecated”警告

    我基于cocos2d box2d创建一个新项目 两个文件中总是有4个警告 一个是CLScoreServerPost m 代码有警告如下 self addValue UIDevice currentDevice uniqueIdentifie
  • 将 cocos2d 视图添加到 UIView

    我已将 cocos2d 2 0 集成到现有的 iOS 项目中 并希望能够创建一个视图并将其作为子视图添加到现有视图中 cocos2d 设置代码应该放在哪里以及 cocos2d 视图如何在 UIView 中可见 我已关注雷 文德利希教程 ht
  • 调用插页式 iAd 只能运行一次

    我有 spritekit 游戏 每次游戏开始时都会预加载广告 UIViewController prepareInterstitialAds 游戏结束后 它应该显示广告 self view window rootViewController
  • CocosDenshion 音乐淡出

    我在游戏中使用 cocos denshion 来播放音乐 我目前正在使用以下代码播放背景音乐 SimpleAudioEngine共享引擎 playBackgroundMusic backSong mp3 然而 当游戏结束时 我需要背景音乐逐
  • iOS 中的 Facebook 发帖错误

    在这里 我尝试使用以下代码向 Facebook 添加帖子 FBAppCall appCall FBDialogs presentShareDialogWithLink urlToShare name Title caption nil de
  • cocos2d中的水效果

    我想在我的应用程序的背景层上有水效果 该效果不需要对触摸或任何东西做出反应 它只需要稍微晃动图像即可 CCWaves3D 看起来不错 但当我运行它时 边缘周围留下了令人讨厌的黑色伪影 类似CCShaky3D CCLiquid 将我的应用程序
  • 在cocos2D游戏环境中应用缩放效果?

    我正在开发一款游戏cocos2D游戏引擎并加载所有sprites当它加载关卡时 现在因为一些sprites 障碍物 高于 320 像素 因此看起来很难检查出来 所以为了方便起见我想申请ZOOM IN and ZOOM out效果 一次最小化
  • 如何从 Objective-C 中的方法返回 C 数组?

    我有一个返回变量的函数 我想知道如何返回一个数组 问题是它不是 NSArray 它只是一个像这样的平均 C 数组 b2Fixture addFixturesToBody b2Body body forShapeName NSString s
  • Box2d 自定义多边形和精灵不匹配

    我正在使用物理编辑器在 Box2d 中创建多边形 它生成多边形并在非视网膜显示器中工作正常 但在视网膜显示器中不起作用 我已附上两个显示器的屏幕截图 现在 当谈到视网膜显示器时 未设置多边形在汽车上方 这是该图像 这是我在项目中使用的代码
  • Cocos2D 2.1:iOS 6 中已弃用“Delegate”。如何设置此 AVAudioSession 的委托?

    在 Xcode 4 5 中启动了 Cocos2D 2 1 模板 没有物理引擎 针对 iOS 6 和 iPad 在 CDAudioManager m 文件中 以下代码 AVAudioSession session AVAudioSession
  • 如何区分iphone4和iphone 3

    我正在尝试使用 cocos2d 引擎为 iphone 构建游戏 我想知道如何区分用户使用的是 iphone 4 还是 iphone 3 因为我想为 iphone4 加载高分辨率图形 为 iphone 3 加载低分辨率图形 我知道我是否在以下
  • cocos2d 2.0-rc2:结束director并重新启动

    我有一款由 cocos2d 驱动的游戏 它使用 UIKit 菜单 所以我只使用一个视图控制器的框架 即游戏本身 而且 它只有一个场景 从cocos2d 2 0开始 director本身就是一个UIViewController子类 所以我只是

随机推荐

  • homestead.rb:109:in `read': 没有这样的文件或目录@ rb_sysopen

    我尝试通过官网的文档5 3使用homesteadhttps laravel com docs 5 3 homestead https laravel com docs 5 3 homestead但它不起作用 详细信息如下 C Users l
  • Cypress.io 中选择器的存储位置

    我是赛普拉斯的新手 避免将选择器 定位器硬编码到每个规范中的最佳方法是什么 在其他框架中 我们将创建一个包含所有选择器的配置文件 并让规范引用它 场景 我可能有一个在多个规范中使用的选择器 如果选择器发生变化 我不想在每个规范中更改它 我宁
  • 添加到多个 std 容器时 C++ 中的异常安全

    我有一些代码添加到std vector and a std map创建对象后 v push back object std vector m object gt id object std map 我想让这个有一个强有力的例外保证 通常 为
  • 与php中的另一个数组合并后如何从数组中删除重复元素?

    我正在尝试编写程序来计算指定开始日期后的接下来 20 个日期 然后从 20 个日期中排除周末 Holidays Array holidays 2016 12 13 2016 12 24 以及结果数组 其中仅包含除周六和周日之外的工作日 在假
  • Keycloak,如果选择更新密码操作,则不返回访问令牌

    我正在打电话 auth realms master protocol openid connect token通过在正文中发送以下内容来获取访问令牌 grant type password client id example docker
  • 如何使用 JavaScript 在 Hackerrank 中发出 AJAX 请求?

    我打开 Hackerrank 示例测试并尝试使用可能用于进行 AJAX 调用的方法 XMLHttpReq fetch等等 它们都不起作用 XHR and fetch方法不可用 First fetch async function myFet
  • 维纳滤波

    我想编写一个维纳滤波器来改善图像 我不想使用傅立叶 我知道有一个基于中值和方差的算法 但我找不到它 你们能帮我吗 http en wikipedia org wiki Wiener filter http en wikipedia org
  • 如何为新样式表生成 CSS 变量值

    我正在开发一个项目 用户可以从颜色输入中选择颜色 并使用 CSS 变量动态创建自己的主题 我希望用户能够下载包含他们选择的值的整个 CSS 文件 My issue 下载的CSS文件不显示实际的颜色值 而是显示变量名称 NOT WANTED
  • Python:CGI在脚本退出前更新网页

    好吧 这是我的情况 我编写了一个带有文本区域的 HTML 表单 该文本区域向我的 python 脚本提交 POST 请求 我使用 cgi 库来解析文本区域并将其拆分为一个数组 然后 我使用循环处理这些项目并在处理时打印它们 看来 即使我将打
  • JavaScript 和 Java 有什么区别?

    Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 JavaScript 和 Java 有什么区别 Java 和 Javascript 很相似 就
  • 使用operator[]时如何区分读/写操作

    我需要编写一个带有重载运算符 的类 当使用运算符 读取或写入数据时 该类具有不同的行为 为了给出我想要实现的目标的实际示例 假设我必须编写一个名为 PhoneBook 的类的实现 该类可以按以下方式使用 PhoneBook phoneBoo
  • Angular 2 路由器导航功能不起作用

    我的路由器功能 导航 有问题 在我的 AppComponent 中 RouteConfig path home name Home component HomeComponent useAsDefault true data user nu
  • 如何在 Visual Studio 2010 Express for Windows Phone 上安装便携式库工具

    我一直在尝试安装可移植库工具并使用 Visual Studio 2010 Express for Windows Phone 创建可移植类库 看起来它应该可以工作 因为 PCL 说它支持 Visual Studio Express 不幸的是
  • 期望脚本在单独调用时有效,但不能作为盐状态

    我正在尝试通过expect 进行scp 和ssh 操作 如果我直接从终端调用下面的脚本 则它可以工作 usr bin expect myexpect sh但是当我使用 salt 运行它时 第一个 scp 命令在第二个 ssh 失败的地方起作
  • Golang - 解析嵌套 JSON

    我正在使用上班族 https github com benmanns goworker处理请求作业 一个作业有一个有效负载 它有一个嵌套的 JSON 结构 如下所示 key a val a key b val b files key a a
  • PHP Web 应用程序构建系统 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我想开始自动化更多的网络开发过程 所以我正在寻找一个构建系统 我主要在 Mac OS X 上编写 PHP 应用程序 并通过 FTP 部署 Lin
  • Bundler 通过 RVM 提供什么?

    我不确定这两个工具之间有什么区别 似乎有很大的重叠 但我一直在使用 RVM 并面临一些不兼容的问题 Bundler 做了哪些 RVM 没有做的事情 它们有不同的目的 RVM 创建一个沙箱来管理您的 Ruby 安装 作为其中的一部分 它还允许
  • 如何在源不存在的情况下显示默认图像

    我在 myasp net MVC Web 应用程序中有以下代码 a href Content uploads item ID png img class thumbnailimag src Content uploads item ID p
  • AS3 字符串内存泄漏

    我已经在 AS3 中编程了一段时间 发现一个非常奇怪的问题 字符串没有明显的原因挂在内存上 下面的程序只是用随机字符串更改 label text 属性 它工作正常 但是当我查看 Flex 探查器 我注意到字符串的数量正在稳步增加 我尝试执行
  • 如何将 CCSprite 从一个父级转移到另一个父级?

    我有一个CCSprite called sprite那是一个孩子CCLayer called movingLayer它本身就是当前的子项CCLayer运行我的游戏逻辑 所以它是self在这种情况下 movingLayer以永远重复的动作在屏