sknode相关内容
我有一个 SKNode 的子类,它充当我的“生物".这些使用 SKActions 自动在场景中移动.我有兴趣在生物移动时修改(减少)“能量"属性(Int). 不能保证该生物移动整个移动 SKAction 长度(它可以被打断),因此计算总距离然后在它开始移动时立即减少属性并不理想.我基本上想说“节点每移动 1 秒,降低能量属性". 我该怎么做?我不知所措!谢谢. 解决方案 在你的
..
我正在开发相当完善的 SpriteKit 游戏,添加了一些代码以将新的 SKSpriteNode 添加到场景中,(与我在代码中的其他几十个地方所做的相同,但出于某种原因,这次是只是忽略了我为节点设置的位置,我已经通过显式尝试了 .position = CGPointMake(x,y) 并尝试了 [node setPosition:CGPointMake(x,y)] 都不工作...节点确实被添
..
我对 SKNode 方法 convertPoint:fromNode: 和 convertPoint:ToNode: 的工作方式有点困惑,我看过文档,但他们所做的并不那么明显.例如,这个(见下图)是我使用 convertPoint:fromNode: 做的一个小测试,黑色区域是 SKScene 背景,蓝色区域是 SKSpriteNode 的父级 SKScene,红色区域是另一个 SKSpriteN
..
我是 SpriteKit 的新手,游戏开发者,事实上我只是在学习.所以我到了一个点,我应该将一堆节点移动到用户点击位置.到目前为止,我一直在努力计算一个虚拟的直角三角形,并根据边得到角的 sin 和 cos.不幸的是,这让我产生了一种非常强烈的冲动,并没有真正考虑用户的点击位置. 有什么想法吗? 提前致谢. 解决方案 在此处查看 Ray Wenderlich 教程中的射弹部分:
..
(适用于 XCode 6 和 iOS 8 beta 4) 喜欢新的 SceneKit 编辑器.我已成功将 .sks 文件中的场景加载到自定义 SKScene 类中.但是,其中的对象被实例化为默认类(SKNode、SKSpriteNode 等),我不确定如何将它们绑定为实例化为自定义子类. 目前,我正在通过创建自定义类并将精灵节点作为属性链接来解决这个问题,并且工作正常 解决方案
..
我已将 UIPinchGestureRecognizer 添加到我的 scene.view 以缩放我的内容.我实际上缩放了所有可见内容所在的父节点.但是我有缩放点的问题.问题是左下角的节点比例.这绝对不是我想要的.我是否必须编写大量代码才能从发生挤压的点进行扩展?能否请您提供一些关于如何遵循的提示. 解决方案 我一直在解决同样的问题,我的解决方案如下所示.不确定这是否是最好的方法,但到目前
..
我想知道是否有可能让 SKNode 朝着特定方向前进,但只有一个因素.我知道施加脉冲和设置物理体的速度,但它们都由两个因素决定;dx 和 dy.我也知道使用 SKActions 旋转到一个角度.但是,一旦设置了一个角度,是否有可能使对象简单地“向前移动"?或者只用一个因素来设置它的速度? 提前致谢. 解决方案 是的,就是您问题的答案. 我认为你在寻找什么 = 推力......对
..
我已将 UIPinchGestureRecognizer 添加到我的 scene.view 以缩放我的内容.我实际上缩放了所有可见内容所在的父节点.但是我有缩放点的问题.事情是从左下角开始的节点规模.这绝对不是我想要的.我是否必须编写大量代码才能从发生收缩的点开始扩展?你能不能给一些提示,告诉你应该遵循什么方法. 解决方案 我一直在解决同样的问题,我的解决方案如下所示.不确定这是否是最好的
..
我注意到 SKNode 方法 children 和 childNodeWithName: 顾名思义只返回来自查询节点正下方的子节点的结果.即 [root children]; 将返回一个包含节点 @[CUBE1, CUBE2, CUBE3] 的 NSArray. 在下图中,我想从 ROOT (SKScene) 级别下降到 SPHERE2,以便我可以快速访问该节点的子级.我希望 [root c
..
有谁知道如何使用转换矩阵转换(旋转、缩放、倾斜)SpriteKit 节点.在 Spritekit API 中找不到对此的任何支持. 解决方案 正如 Fogmeister 所述,您可以使用带有 CIFilter 的 SKEffectNode.以下适用于 iOS: //标签let label = SKLabelNode(text: "Hello world")//转换让变换 = CGAffi
..
我们有一个自定义Swift类的实例,该实例继承自SKSpriteNode,并且能够正确执行以下代码(此问题大为简化): 让instance1 = CustomClass()让instance2 = CustomClass()让instance3 = CustomClass()让instance4 = CustomClass()令array1 = [instance1,instance2]让arr
..
背景信息: 我正在创建一个带有多个“地板"的SpriteKit 2D平台风格的游戏.当用户进入“门户"时,他被运送到另一层(一个向上或一个向下).如果用户死于与最近的生成点所在的楼层不同的楼层,则将其与生成点一起转移回该楼层. 问题:升级到iOS8后,此情况导致游戏崩溃并出现EXC_BAD_ACCESS异常/错误.即使经过有关如何调试此类错误的多个教程,我似乎也找不到问题所在. 因此,
..
我对快速编程还比较陌生.我制作了一个不使用SpriteKit的应用程序,并且通过将图像缩小到屏幕宽度和高度的倍数来调整大多数视图的大小.不知道这是否是最好的策略,但是它奏效了,我能够构建一个在所有设备上看起来都不错的应用程序. 使用spritekit和scene.sks文件时,我无法像以前一样选择自动布局来调整sprite的大小.在线上关于通用应用程序的内容并不多,所以我正在努力寻找解决方案
..
我已经在这里以不同的方式问了这个问题; 通过以下方法快速设置物理体速度角度,但不幸的是,这三种尝试都不是我所想要的,尽管我很感谢他们反正教会了我.我决定只用示例和进一步的解释来代替我的问题,而不要通过评论来使讨论永无休止.所以就在这里. 想象一下,我有一个位于屏幕中央的SKNode.假设这是一个球,因此看不到它的任何旋转动作.我需要一种方法来选择一个随机角度,然后让SKNode旋转到其上,然
..
此问题和其他人讨论如何使用SKCameraNode跟踪SpriteKit中的节点. 但是,我们的需求各不相同. 其他解决方案(例如更新SKScene的update(_ currentTime: CFTimeInterval)中的摄像机位置)不起作用,因为我们仅希望在节点将Y像素向下移动到屏幕后才调整摄像机位置. 换句话说,如果节点向上移动10个像素,则相机应保持静止.如果节点向左
..
我创建了一个sknodeshape.如何检测(触摸)我制作的形状是否被触摸? 下面是代码:(我已经解决了) //metung_babi is the name of the SKShapeNode UITouch *touch = [touches anyObject]; CGPoint nokarin = [touch locationInNode:self]; SKNode *n
..
我使用以下代码定期生成SKNode.有没有一种方法可以使这些SKNode的生成周期随机化.具体来说,如何使以下代码中的"delayFish"成为具有随机延迟的动作? [self removeActionForKey:@"fishSpawn"]; SKAction* spawnFish = [SKAction performSelector:@selector(spawnLittleFishe
..
两个对象被添加到 NSSet ,但是当我检查成员资格时,我找不到其中一个。 下面的测试代码在iOS7中工作正常但在iOS8中失败。 SKNode * changingNode = [SKNode节点]; SKNode * unchangingNode = [SKNode节点]; NSSet * nodes = [NSSet setWithObjects:unchangingN
..
我一直收到来自GA和用户的崩溃报告......但是我无法通过ios7和ios8测试iphone5,5s,6来重现此异常。当应用程序进入后台时,此问题无处可去。奇怪的是游戏中心会调用spritekit来显示成就横幅? 有没有人遇到同样的问题? 最后的例外回溯: 0 CoreFoundation 0x23c99e3f __exceptionPreprocess + 127 1 li
..
我创建了一个非常简单的示例代码,只有一个场景,一个精灵节点20x20px,屏幕上的点0.0。当我调用 scene.physicsWorld bodyAtPoint 时,即使在例如:34x34点,它也会返回此节点。但是在35x35点,它返回 null 。所以基本上所有从0px到34px的点都返回此节点,从35px开始,它不再返回它。任何想法可能是什么原因,如果精灵明显以20px 20px结束?在 b
..