移动一个精灵时所有精灵都不可见[关闭]

2024-02-16

我的场景中有 7 个精灵。所有精灵都添加到可变数组中。当我触摸一个精灵来移动时,其他精灵在我触摸移动方法后不可见

这是我的代码

if( (self=[super init])) {

sprites=[[NSMutableArray alloc]init];

CCLayer *base=[CCSprite spriteWithFile:@"Base.png"];
base.position=ccp(512,384);
[self addChild:base];

 x=0;
 for(int i=1;i<=7;i++)
 {
    CCSprite *hole=[CCSprite spriteWithFile:@"ball.png"];
    hole.position=ccp(140+x,318);
    hole.tag=i;
 [self addChild:hole];
    hole.visible=YES;
    [sprites addObject:hole];
    x=x+75;
 }

self.isTouchEnabled=YES;

}
return self;
}


My touchesmove method:



-(void)ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
NSLog(@"count:%i",[sprites count]);
UITouch *touch=[touches anyObject];
CGPoint location=[touch locationInView:[touch view]];
location=[[CCDirector sharedDirector]convertToGL:location];
location=[self convertToNodeSpace:location];

for(CCSprite *s in sprites)
{
s.position=ccp(location.x,location.y);
}
}

ccTouchesMoved 中的代码将所有精灵移动到一个触摸位置,因此您只能看到一个精灵,而其余精灵实际上堆叠在下面。

如果您想要实现的是在触摸时简单地拖动精灵,则需要在 ccTouchBegan 中测试触摸位置和每个精灵的边界框之间的交集。一旦您循环并找到了您触摸下的精灵,您就可以保存对它的引用,并且在 ccTouchMoved 中,您可以翻译该精灵的位置以及自上次调用 ccTouchMoved 以来移动的量。

查看 Ray Wenderlich 的教程:http://www.raywenderlich.com/2343/how-to-drag-and-drop-sprites-with-cocos2d http://www.raywenderlich.com/2343/how-to-drag-and-drop-sprites-with-cocos2d

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

移动一个精灵时所有精灵都不可见[关闭] 的相关文章

随机推荐

  • 如何使用 SFINAE 检测 noexcept 方法

    我问的是一个 流行 问题的变体 检测类方法的存在 我在 SO 中读过很多答案 大多数 C 17 后 解决方案看起来像this https stackoverflow com questions 55191505 c compile time
  • 分发依赖于静态框架的动态框架的正确方法是什么?

    我正在构建一个闭源动态框架 它依赖于第三方闭源静态框架 我将静态依赖框架链接到我的框架的项目 目标 如中所述这个苹果技术说明 https developer apple com library content technotes tn243
  • 如何使用 RestClient 修复 Ruby 中的套接字错误?

    我在用RestClient在 ruby 类中进行网络调用 我得到了SocketError每当我没有连接到互联网时 我已经添加了一个救援块来捕获异常 但我仍然无法这样做 错误消息是 SocketError Failed to open TCP
  • 如何在不使用内置指令的情况下在 MIPS 汇编中实现乘法和除法?

    好吧 问题就在这里 我必须编写一个 MIPS 程序 从用户那里获取 2 个输入数字 然后 我必须编写一个代码来输出用户输入的 2 个数字的乘积 商和余数 现在 这非常简单 但是 我没有意识到我们不能在程序中使用乘法和除法操作数 现在我不知道
  • Mongodb递归查询

    我的中有以下架构taxon收藏 id 1 na root 1 root 2 root 3 pa 1 id 2 na name 1 name 2 name 3 pa 1 id 4 na otherName 1 otherName 2 othe
  • R:用 dplyr 替换按小时计算的 NA 值

    我正在学习 R 中的 dplyr 包 我真的很喜欢它 但现在我正在处理数据中的 NA 值 我想用相应小时的平均值替换任何 NA 例如用这个非常简单的例子 create an example day c 1 1 2 2 3 3 hour c
  • 我在 chrome 91 中的选项卡更新/激活/焦点事件中收到错误“选项卡现在无法编辑(用户可能正在拖动选项卡)”

    最近的 Chrome 更新后 当我尝试使用 chrome tabs API 时 我的扩展程序开始触发 未检查的运行时 lastError 现在无法编辑选项卡 用户可能正在拖动选项卡 目前还没有关于此问题的太多信息 但我相信这是一个浏览器错误
  • 围绕枢轴点重复旋转点

    一段时间以来 我一直在使用以下函数在我的各种程序中围绕枢轴点旋转一系列点 private Point RotatePoint Point point Point pivot double radians var cosTheta Math
  • 枚举中的 VB 括号?

    我在一些遗留代码中发现了这一点 只是好奇括号的用途是什么 Public Enum myEnum none 0 abc 2 def 4 ghi 6 jkl 8 mno 9 End Enum 在您提供的示例中不需要它们 我假设您已经模糊了该示例
  • 如何在div的底部制作一个三角形[重复]

    这个问题在这里已经有答案了 大家好 我想知道如何用 HTML 和 CSS 制作这个 我知道最明显的方法是在底部制作三角形图像 但感觉不对 可以用 HTML 和 CSS 实现吗 编辑 这是一个 Photoshop 设计模型 我已经说过我有一个
  • qemu:未捕获的目标信号 11(分段错误)- 尝试返回结构时核心已转储

    我刚刚注意到我无法让函数返回结构 我在启用了线程的 ARM32 debian docker 映像上运行它 这是给我运行时错误的函数 struct CEC call des CEC call char buffy char request b
  • 如何使用模型中的数据绑定为kendo数据源

    我有一个空的 div 我想使用模型中的数据将其初始化为剑道网格 它应该类似于以下内容 但我无法加载数据 mapsDiv kendoGrid sortable true dataSource transport read Home About
  • “getElementsByTagName(...)[0]”未定义?

    我有以下代码 它基本上可以切换一堆图像
  • Rails 生成错误的复数形式

    当我在 Rails 控制台中执行以下操作时 我使用 Ruby 1 9 3 和 Rails 3 2 9 1 9 3p125 003 gt 脚 复数 gt 脚 不应该是 脚 吗 1 9 3p125 004 gt 牙齿 复数 gt 牙齿 不应该是
  • 如何更新谷歌地图中多个标记的位置

    我正在使用谷歌地图 API 在地图上放置标记 标记的 GPS 坐标存储在 mySQL 数据库中 我已经能够创建标记 但是位置会不断变化 所以我想知道如何更新标记的位置 以便标记能够在地图上移动 到目前为止 这是我的代码
  • Flot条形图月份对齐问题

    我正在尝试使用 Flot 库绘制每月条形图 与月份中心的对齐与 x 轴完全错误 我创建了一个jsfiddle http jsfiddle net cDgnE 来展示问题 给予时直觉 bars show true fillColor 4682
  • SwiftUI - 更改 ForEach 中的结构数据集?

    我是编程和 SwiftUI 的新手 我正在制作这个应用程序 用户可以选择这些标记为 A D 的按钮 他们可能会选择超过 1 个 我希望当他们单击按钮时 背景颜色会从灰色变为绿色 但是 如果我将底部代码中的 Here 替换为 Data Sel
  • 如何以编程方式检查 Windows 是否是最新的?

    我正在使用 Windows 窗体在 C 中构建一个应用程序 该应用程序必须检测防病毒和反间谍软件是否已安装 更新和启用 我已经使用 WMI Net 完成了此操作 但我找不到检查 Windows 7 是否最新的方法 日期 你知道这是否可以通过
  • 我可以在不安装 R 的情况下使用 R.Net

    我正在 C 中构建一个应用程序 并且我想在该应用程序中使用一些 R 库 我正在使用 R Net 来做到这一点 但是 我会将这个软件部署给那些计算机上可能没有下载 R 的用户 有什么方法可以使用 R dll 以便用户可以运行我的应用程序 而无
  • 移动一个精灵时所有精灵都不可见[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我的场景中有 7 个精灵 所有精灵都添加到可变数组中 当我触摸一个精灵来移动时 其他精灵在我触摸移动方法后不可见 这是我的代码 if se