草庐IT

Sprite-kit

全部标签

ios - 为 iOS SpriteKit 游戏播放电机音效... AVAudioPlayer vs SKAction vs?

我正在使用SpriteKit开发一款驾驶游戏,但在引擎音效方面遇到了问题。我想要两种不同的引擎声音。一种用于throttle按钮被按下时,一种用于throttle按钮未被按下时。游戏进行时,两种声音之一将不断播放。什么是最好的方法?我的声音文件应该非常短(0.10秒或更短)并且循环播放,还是应该相当长并且只是打开和关闭?我应该使用SKAction来播放声音还是使用AVAudioPlayer或其他什么?我曾尝试使用AVAudioPlayer但每次我暂停并播放播放器(打开或关闭throttle)时,游戏的帧率都会暂时下降。感谢您的帮助! 最佳答案

ios - Xcode 5 SpriteKit 粒子发射器未出现在编辑器中

可能是非常简单的问题,但是......在这种情况下,选择.sks文件时是否发现其他人闪闪发光,效果不会出现在编辑器中。有什么明显的我想念的吗? 最佳答案 这是一个旧帖子,但我最近遇到了同样的问题。我通过移动到“版本编辑器”然后使用主工具栏右上角的编辑器选择器回到“标准编辑器”来解决这个问题。这将重新启动粒子发射器模拟。 关于ios-Xcode5SpriteKit粒子发射器未出现在编辑器中,我们在StackOverflow上找到一个类似的问题: https://

ios - 有没有办法检测 2 个 SKSpriteNode 之间的碰撞但允许它们重叠

我认为没有办法做到这一点,但是有没有办法检测2个SKSpriteNode何时相互交叉,但仍然允许它们重叠,所以它们实际上不会相互反弹?我知道我可以在没有物理体的情况下只使用1,然后编写一些代码来检查它们的坐标,但我想我可能在SpriteKit中遗漏了一些我可以用SK方法检测到的东西。 最佳答案 您可以使用SKPhysicsWorld对象的contactDelegate属性://insideyourheaderfiletypedefNS_OPTIONS(NSUInteger,CollisionCategory){categoryOne

iOS - bodyWithPolygonFromPath : Body is the same as the path but collisions are not working properly

首先,我要感谢这个网站上的每一位用户,因为我总是在这里寻找解决方案,而且非常有帮助!我正在尝试使用SpriteKit制作Xonix、Bix或Jezzball之类的游戏。无论如何,我有一个球在墙上弹跳,我试图在它不能去的地方制造障碍,这些障碍是由CGPathref制造的(用户通过它的Action制造它)我正在使用bodyWithPolygonFromPath创建skspritenode的physicsbody,它可以工作,但并非总是如此。我已经下载了YMCPhysicsDebugger来查看body的内容,在任何情况下都很好,但是我看到当我在CGPath上有超过4个点时,球不会与整个bo

ios - Sprite Kit 场景编辑器 GameScene.sks 场景宽高

我正在使用spritekit场景构建器构建我的场景(在xcode7ios9中创建项目时也称为GameScene.sks文件)。SpriteKit仅在设置屏幕高度和宽度时使用像素值。我的问题是:如果我将像素值设置为iphone6的像素值,游戏对于ipad和iphone6+来说会不会太小?为什么没有适合设备屏幕的选项?我应该怎么做才能避免这种情况? 最佳答案 像素密度首先,场景的大小是以Points而不是Pixels定义的。让我们看看支持iOS9的设备是如何处理这个问题的:1point=1x1pixel:iPad2,iPadmini1p

ios - 如何防止 SKSpriteNode 的子节点与其父节点一起旋转?

我正在使用SpriteKit编写一个iOS游戏,其中包含许多带标签的球。我通过构建一个带有2个子节点的父SKSpriteNode来构建这些“rollingBalls”:a)一个SKShapeNode(实际的圆形)b)和一个SKLabelNode(标签)球将在整个屏幕上移动,在二维空间中与彼此和其他物体相互作用,并且完全取决于预期的物理特性(想想台球)。但如果可能的话,我希望标签不随父级一起旋转,以便始终保持易于阅读。最简单的方法是什么?标签不应该是容器的子元素吗?还有其他方法可以将它与ballShapeHook吗?或者我可以在标签上设置一些属性等吗?这是我现在得到的:doublebal

iOS Sprite Kit - SKSpriteNode 的 .centerRect 属性不起作用

我在浏览Apple的SpriteKit文档时发现了一个非常有用的功能,我可以在编写UI时使用它。问题是我无法让它工作。请查看此页面并向下滚动到“调整Sprite大小”-AppleDocs我从字面上复制了图像尺寸并使用了相同的代码以防我做错了什么。但我总是以拉伸(stretch)的图像结束,而不是保持相同比例的正确“端盖”。我指的是这段代码:SKSpriteNode*button=[SKSpriteNodespriteWithImageNamed:@"stretchable_button.png"];button.centerRect=CGRectMake(12.0/28.0,12.0/

ios - 如何创建 .sks 文件以在 spriteKit 应用程序中使用

我想创建一个自定义.sks文件,并在我的spriteKit应用程序中使用它。但我不知道如何创建它。谁能告诉我有关如何创建.sks文件的详细信息。 最佳答案 这些是粒子文件。要创建一个转到xcode,File->New->File...然后一个模态框会弹出去Resource->SpriteKitParticleFile然后选择粒子类型:然后您可以使用右侧栏编辑您的粒子效果:有关differentparticleshere的更多详细信息 关于ios-如何创建.sks文件以在spriteKit

ios - 为什么我不能在 SpriteKit 中向场景 physicsWorld 添加关节

我正在尝试向场景physicsWorld属性添加一个关节,但我收到了EXC_BAD_ACCESS。这是我正在使用的代码。SKPhysicsJointFixed*fixedJoint=[SKPhysicsJointFixedjointWithBodyA:self.mousePoint.physicsBodybodyB:self.box.physicsBodyanchor:touchPoint];[self.physicsWorldaddJoint:fixedJoint];//Errorhappenshere.我在触摸开始时调用它。有谁知道这是怎么回事吗? 最佳

iOS - 结合 SpriteKit 和 Metal

是否可以将SpriteKit与Metal结合使用?如果是,如何在物理世界中实现Metal粒子和SKNode的结合,使其相互碰撞,这种需求的通常方法是什么。谢谢 最佳答案 它们是两种完全不同的技术。SpriteKit是一个为您抽象所有渲染工作并为您提供内置物理引擎的框架。而Metal纯粹是一种低级GPU加速图形API,可让您完全控制渲染过程。它类似于OpenGLES,但开销要少得多。SpriteKit将使用Metal(在符合条件的设备上)来渲染您的场景。您不需要做任何事情,因为SpriteKit会在幕后处理所有渲染。你不能把它们结合起