如何正确管理屏幕上的精灵组

2023-12-25

我正在用 Swift 构建我的第一个游戏,我想知道如何同时处理多个屏幕精灵。我的游戏将精灵推到屏幕上addChild连续的,所以同时有很多活跃的。我意识到我没有同时影响所有敌人的正确方法 - 就像我想同时影响所有敌方精灵的物理属性一样。到目前为止我创建了一个空数组var enemySprites = [enemyType1]()年初GameScene并且已经appending精灵实例而不是使用addChild将他们直接吸引到现场。但是,我无法简单地循环并将它们绘制到屏幕上:

    for enemy in enemySprites{
        addChild(enemy)
    }

这段代码位于override func update(currentTime: CFTimeInterval)函数,所以也许我只是放错了地方?任何关于如何解决这个问题的帮助都会很棒!


Sam,

下面是一些当你的生命值达到 0 时更新敌人的示例代码:

首先,我们在lives属性,这样当你失去所有生命时我们可以调用一个函数:

var lives = 3 {
    didSet {
        if lives == 0 {
        updateEnemies()
    }
}

然后是一个枚举所有敌人并将每个敌人的速度更改为 (0, 0) 的函数:

func update enemies() {
        enumerateChildNodesWithName("type1") {
            node, stop in
            let enemy = node as! SKSpriteNode
            enemy.physicsBody?.velocity = CGVector(dx: 0, dy: 0)
        }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何正确管理屏幕上的精灵组 的相关文章

  • 应用未能及时恢复

    我在一个非常具体的场景中遇到 未能及时恢复 崩溃 我认为与看门狗相关 仅在从后台恢复时 并且仅在进入后台后在很短的时间内执行此操作 a最多几秒钟 这似乎是相关的崩溃日志 Incident Identifier E30F2238 5B15 4
  • 如何自动为 Swift 类创建初始化程序?

    UPDATE 使用结构而不是类 struct 在很多方面都更好 它有自己的初始化器 这是我的模型课 是否有可能创建init自动方法 每次我都必须将所有变量一一初始化 这会花费很多时间 class Profile var id String
  • iOS 对 Google 云消息传递的支持

    我在谷歌的开发者控制台中看到 GCM 允许为 iOS 生成 API 密钥 我在网上搜索了有关如何在 iOS 应用程序中通过 GCM 实现推送通知的任何类型的文档 但没有找到答案 真的有可能在 iOS 应用程序中使用 GCM 实现推送通知 j
  • 通用类不会将委托调用转发给具体子类

    鉴于以下情况 protocol EntityType var displayString String get extension String EntityType var displayString String return self
  • 具有非零“内容”的 QTMovieLayer 的 iOS 替代品?

    背景 QTKit QuickTime Kit 是一个来自 10 3 天的 Mac 框架 在 10 5 中添加了一些层 例如QTMovieLayer QTMovieLayer 的好处之一是您可以使用常规访问电影内容content图层上的属性并
  • UICollectionView 列的垂直偏移

    右图是我试图实现的目标 Does anyone know how I could achieve this on a two column UICollectionView I m able to discern my columns by
  • UIWebView 未正确加载 JavaScript - 嵌入式 Facebook 帖子

    Facebook 有一项新功能 允许用户将公共帖子嵌入网页中 我想尝试在 UIWebView 内的 iPhone 应用程序中使用它 转义必要的代码非常简单 但即使我手动转义代码 Web 视图也不会正确加载帖子 JavaScript 根本不起
  • UIWebView 如何检测 被点击

    我知道下面的方法可以检测链接元素点击 但我想知道是否UIView可以检测是否img元素被点击 BOOL webView UIWebView webView shouldStartLoadWithRequest NSURLRequest re
  • 将第 3 方库添加到 iPhone 应用程序时如何设置“标题搜索路径”的路径

    我想添加第 3 方库语音转文本 https github com todoroo iPhone Speech To Textto my Xcode项目 我只是拖xcodeproj文件在我的 iPhone 项目中 然后我按照目标依赖项 将二进
  • 如何在 SwiftUI 中呈现视图而不将其嵌入到当前导航流中?

    我已经完成了日志记录入门 并且需要呈现一个 HomeView 它对之前的导航流程一无所知 var body some View if viewModel isValidated destination else LoadingView 通过
  • Xcode UI 测试 - 通过 id 在 Webview 中查找元素

    我们的应用程序是混合的 包含 webview 我正在尝试使用 Xcode UI 测试自动化我们的应用程序 我能够使用以下方法找到网络按钮 let app XCUIApplication app launch let button app s
  • 从 AF.Request 响应获取数据

    我需要使用 Alamofire 的 Post 请求调用的 json 响应中的数据 但由于某种原因我无法访问该数据 我尝试按照 Alamofire github 文档以及这篇文章进行操作从 AF 响应 JSON 获取数据 https stac
  • 以编程方式添加带有自动布局的 UISLider

    我正在尝试以编程方式将 UISlider 添加到我的视图中 包括约束 以便其宽度适应整个屏幕宽度 这是我到目前为止得到的 2 Add UISlider self slider UISlider alloc init self view ad
  • 我正在寻找 GCDAsyncUdpSocket 上的一些示例,但发现没有一个有效

    接收数据从未被调用过 我编写了这个由我的主线调用的 swift 类UI视图控制器向接收消息的服务器发送消息 但当服务器发回响应时 客户端永远不会收到它 因为 didReceiveData 从未被触发 我一直在谷歌上搜索并查看文档 它说客户端
  • 如何确定 UINavigationController 中工具栏的高度?

    我有一个带有由 UINavigationController 呈现的工具栏的视图 当我处理 UIKeyboardWillShowNotification 时 我将整个屏幕向上滚动键盘的高度 问题是当显示键盘时 底部工具栏不显示 所以我只需将
  • 在Swift中计算没有透明度的颜色,通过用透明颜色叠加颜色获得

    我有一个具有非透明颜色的原始 UIVieworgColor 这是由一个覆盖 UIView 覆盖的 该 UIView 具有overlayColor具有透明度 alpha 通道 鉴于这两种颜色orgColor and overlayColor我
  • swift 3.0 中的 Sha 256 加密语法错误

    func SHA256 gt String let data self data using String Encoding utf8 let res NSMutableData length Int CC SHA256 DIGEST LE
  • Parse 在哪里存储用户会话

    登录代码 PFUser logInWithUsernameInBackground self userTextField text password self passwordTextField text block PFUser user
  • 如何在 iOS 5 中使用 Embed Segue?

    iOS 6 引入了 Embed Segue 允许在 Storyboard 中使用自定义容器控制器 有没有办法在 iOS 5 上复制这个 这里的挑战是子视图控制器的视图通常要添加为父视图控制器的某些容器视图的子视图 因为你不能随机进行序列UI
  • iOS 上的本地通知需要用户许可吗?

    我在我的应用程序中使用 UILocalNotification 来安排通知 通知工作正常 并在我需要时显示 我对此没有意见 我没有做任何远程 推送通知 让我想知道的是 我从未见过您通常在多个应用程序中看到的推送通知的著名权限对话框 我什至重

随机推荐

  • 如何在 Python 中使用 M2Crypto 重新创建以下签名命令行 OpenSSL 调用?

    这在命令行中完美运行 我想在 Python 代码中使用 M2Crypto 执行相同的操作 openssl smime binary sign signer certificate pem inkey key pem in some file
  • BLE血糖仪

    我正在尝试从血糖仪获取数据 但无法在互联网上找到有关实施的良好资源 这是我到目前为止能够实现的 我正在使用 BluetoothAdapter LeScanCallback 接口扫描设备 Override public void onLeSc
  • 如何下载地图选定部分的 OSM 图块

    我想使用 Openlayer OSM 图层以单个缩放级别离线下载地图的选定部分的地图 我有地图的四个角 即地图的显示部分 但需要获取所有图块图像或四个角之间的图块 我回顾了一些例子 Openlayers获取鼠标下图块的图片url https
  • 在.NET 4中使用await SemaphoreSlim.WaitAsync

    我的应用程序正在使用 NET 4 我正在使用等待异步努吉特包 https www nuget org packages Microsoft Bcl Async 在我的应用程序中 我想对信号量 WaitAsync 调用进行等待 如下所示 Se
  • 为什么 GHC 不能派生 Monoid 的实例?

    GHC 有一些语言标志 例如DeriveFunctor DeriveDataTypeable等等 这使得编译器能够为 Haskell 98 中允许的类型类之外的类型类生成派生实例 这对于类似的东西尤其有意义Functor 其中该类的定律规定
  • 绘制包含多个组件的图形时,节点大小不正确

    我有一个包含许多组件的图表 我想将其可视化 作为一个特殊特征 巨型组件中节点的节点点应随其特征向量中心性缩放 所有其他节点具有相同的大小 我使用以下脚本 import networkx as nx import pylab as py im
  • android recyclerview:如何以编程方式选择 TextView 背景颜色?

    我有一个 CardViews 的 RecyclerView 列表 在每个 CardView 上 用户事先从下拉对话框中选择 类型 类型选择有 工作 和 家庭 类型选择作为字符串存储在 SQLite 数据库中 当我运行应用程序时 没有显示 T
  • 角度单元测试:错误:无法匹配任何路由。 URL 段:“主页/顾问”

    我正在我的 Angular 4 0 0 应用程序下进行单元测试 我的真实组件中的某些方法是通过以下方式调用手动路由 method this navigateTo home advisor with 导航是一个调用此的自定义路由方法 publ
  • 使用不区分大小写的字符串访问 python 字典

    我正在努力查看是否存在一种方法来访问带有正确字符串但不区分大小写的字符串作为键的 python 字典 例如使用以下代码 dictionary one 1 two 2 three 3 list One second THree for ite
  • Firebase 仪表板设置电子邮件已验证

    我通过控制台创建了一个用户 并在我的客户端 iOS 应用程序 内创建了一个用户 我要求用户在使用之前验证其电子邮件 但是测试用户没有有效的电子邮件 它不存在 电子邮件是 email protected cdn cgi l email pro
  • 如何从SWT表中选择一个单元格

    table addSelectionListener new SelectionAdapter public void widgetSelected SelectionEvent e if table getSelectionIndex 1
  • SQL - 将 2 个外键左连接到 1 个主键

    我有两张桌子 游戏桌和团队桌 我的 sql 语句应该是什么样子来创建一个游戏列表 以提取链接到 TeamID1 和 TeamID2 字段的 TeamName 我相信我可以使用左连接 但我不确定如何处理链接到一个主键的两个外键 非常感谢您提供
  • 从审计记录构建快照表

    我有一个Customer表具有以下结构 CustomerId Name Address Phone 1 Joe 123 Main NULL 我也有一个Audit跟踪更改的表Customer table Id Entity EntityId
  • 我的选择如何正确地出现在我在 SwiftUI 中创建的列表中

    我创建了显示数字数组的列表 当您选择多个数字并点击下面的按钮时 它应该告诉您所选数字的总和 但是 当您在不同行中选择相同的数字时 它们会同时被检查 我知道这应该通过使用 UUID 来解决 但我想要的最终结果是数字之和 即 Int 因此 我迷
  • 我可以从 PriorityQueue 中获取一个项目而不将其删除吗?

    我想获取队列中的下一个项目 但不想将其出列 在Python中可以吗queue PriorityQueue 来自docs http docs python org py3k library queue html highlight prior
  • Firebase 存储的动态图像大小调整

    有没有一种有效的方法可以通过更改图像 URL 中的查询参数来提供存储在 firebase 存储中的动态尺寸图像 或者类似 Imgix 的东西 什么是最有效的方法 我建议您尝试使用 ImageMagick 调整 Firebase 存储大小的
  • 将 gulp.start 函数迁移到 Gulp v4

    我已经将所有 gulp v3 代码库迁移到 v4 中 然而 我陷入了一个困境 我有 gulp start 函数 当我在 gulp v4 中运行 gulp start 时 它会抛出一个错误 这是我在版本 3 中的功能 gulp task de
  • 批处理 for 循环内存泄漏?

    我正在编写一个批处理脚本 它会遍历目录中的每个文件 查找代码文件并以某种方式修改它们 完成该任务后 我尝试在包含大约 6 000 个文件的大目录上运行它 大约 40 分钟的脚本崩溃了 我从命令提示符处收到了很多内存不足的错误 运行脚本的同时
  • 无法将“...”类型的值添加到“UIElementCollection”类型的集合或字典中

    当我通过 XAML 添加自定义控件时 出现以下错误 可能的原因是什么 A value of type cannot be added to a collection or dictionary of type UIElementCollec
  • 如何正确管理屏幕上的精灵组

    我正在用 Swift 构建我的第一个游戏 我想知道如何同时处理多个屏幕精灵 我的游戏将精灵推到屏幕上addChild连续的 所以同时有很多活跃的 我意识到我没有同时影响所有敌人的正确方法 就像我想同时影响所有敌方精灵的物理属性一样 到目前为