使用Swift在SpriteKit中导入外部节点

诺伯特

我正在研究Breakout类型的游戏。我在另一个场景(PaddleScene.sks)中创建了桨,因此可以跨多个级别引用它。不知道这是怎么做的,还是一个新手。

我在其中添加了桨GameScene.sksSKReferenceNode并在这样的代码中引用了它:

paddle = self.childNode(withName: "//paddle") as! SKSpriteNode

这行得通,但问题是现在paddle.position.x给了我0,因为那是它在内部的位置PaddleScene.sks因此,我必须使用SKReferenceNode来获取GameScene中的位置。

paddleRef = self.childNode(withName: "paddleScene") as! SKReferenceNode

因此,现在我必须跟踪两个变量而不是一个。有没有更简单的方法可以在没有多个变量的情况下在场景中导入外部对象?

斯托扬

您可以张贴用于创建桨的代码吗?您还用来引用GameScene中的球拍的代码吗?

引用的节点(在您的情况下为桨)是SKReferenceNode的子节点。这意味着您的桨分配行应为:

let paddle = paddleRef.childNode(withName: "paddle")

然后,您只需要使用paddle而不是paddleRef。

或者,我将为桨创建一个专用类,作为SKSpriteNode的子类。它会处理所有与桨有关的内容-位置,旋转,大小,透明度,图像,色彩等。

然后,在任何场景中重用paddle变得非常容易-只需在场景代码中创建此类的实例,如下所示:

let paddle = Paddle()

(我假设您将桨类命名为“ Paddle”)。然后,您只需要处理一个对象,您的paddle属性就可以正常工作-paddle.position,paddle.zRotation,paddle.size等。

如果您需要有关如何设置桨类的帮助,请告诉我。

斯托扬

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用swift和spriteKit,如何围绕节点外部的点旋转SKSpriteNode?

使用UIDocumentPickerViewController在Swift中导入文本

使用Cocoapods在Swift中导入框架的问题

Swift - 使用 SpriteKit 提高移动节点的速度

使用numpy在Python中导入nastran节点卡片组

使用TypeScript在节点应用程序中导入JSON文件

在Vue组件中导入和使用外部Typescript模块

如何使用Python在Airflow DAG中导入外部脚本?

在使用PyInstaller创建的单文件exe中导入外部模块

在Swift中导入Swift框架:“使用未声明的类型'MyCustomView'”

在Postman中导入外部库

在 aws 中导入外部证书

如何模拟使用在节点模块中导出的导入(ES6打字稿)的外部注入库进行单元测试

如何从普通JavaScript文件或简单节点项目中的React外部的normalizr节点包中导入标准化模式功能

使用Swift + SpriteKit将节点移至手指

在Swift框架中导入CommonCrypto

在Swift中导入如何工作?

无法在React组件中导入节点模块

如何从下一个js的节点模块外部的文件夹中导入模块

如何从外部/ components中导入文件

在Angular中导入外部模块功能

无法从外部库中导入的MediaPlayer

在React组件中导入外部CDN

在python中导入外部模块的最佳实践

使用Swift 3.0编译的Realm的Swift模块不能在Swift 3.0.1中导入

使用Swift 4.0编译的Realm的Swift模块不能在Swift 4.0.2中导入

在swift中导入swift链接的objc类

如何在Firefox WebExtension的后台脚本中导入/使用外部JavaScript文件?

从外部模块“汇总”中导入了“默认”,但从未使用过

TOP 榜单

热门标签

归档