草庐IT

Sprite-Kit

全部标签

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会在幕后处理所有渲染。你不能把它们结合起

ios - 如何沿贝塞尔路径拖动 UIImageView

我正在开发一个UIImageView沿着Bezier路径移动的游戏。我想为移动的UIimageview提供用户交互,以便用户可以通过触摸UIImageView并在路径上拖动它来引导UIImageView!如何做到这一点? 最佳答案 只需使用平移手势并将其添加到UIImageView并提供用户移动它的路径。PanGesture此链接可能有助于理解和实现。还有什么事请告诉我。 关于ios-如何沿贝塞尔路径拖动UIImageView,我们在StackOverflow上找到一个类似的问题:

ios - 无论 iPad 和 iPhone 中对象的大小如何,SpriteKit 中的物理特性都相同

我的球在碎石板上弹跳,有点像乒乓球。球的半径取决于屏幕的大小。我发现球在iPhone和iPad上的运动速度不同。因为球在iPad上更大,所以它有更大的ball.physicsBody.mass。问题如何正确解决这个问题?我找到了两种方法:首先是:SpriteKitiPhone/iPaddifferentresolution,needsamephysics更改SKPhysicsWorld。第二个是:SpriteKitballspeeddifferonsize修复球的质量。我认为固定球的质量是正确的方法。我对么? 最佳答案 可以在以下位

ios - 如何从嵌入工作区的 Swift Playground 加载 .sks 文件?

在fileNamed的文档中:从.sks文件加载场景时说:Thenameofthefile,withoutafileextension.Thefilemustbeintheapp’smainbundleandhavea.sksfilenameextension.我在Playground中的用法:ifletscene=PlanetsScene(fileNamed:"PlanetsScene")有什么解决方法吗?在Playground中运行的东西似乎无法访问应用程序主包。我已将我的Playground嵌入到项目工作区中,并且可以访问我设置为公共(public)的所有其他类,但似乎不能只加载

ios - xcode 和 Sprite 表

我有一个问题,我已经在网上阅读了有关如何为sprite表设置动画的内容,但我只是想知道一种简单的方法来加载具有多张图像的sprite表,让我们说一个背景(所以想象像横幅的“右角”、“顶部横幅”和“左角”之类的东西)。如何在uiview中显示每个元素的部分(位于sprite表中),然后在“顶部横幅”元素上放置一个标题。换句话说,就像css大师在html中为网站所做的那样?我是否需要导入cococa2s库才能执行此操作,或者我可以使用nativeiossdk执行此操作吗? 最佳答案 如果你使用cocos2d,有很多工具可以帮助你制作和使

ios - 在 Sprite Kit 中的场景之间导航?

假设我从一个场景initialScene开始。这个场景包含几个按钮。当用户点击这个场景中的按钮A时,我将呈现sceneA。所以我的代码看起来像这样:sceneA*scene=[[sceneAalloc]init];[self.scene.viewpresentScene:scene];我的第一个问题是,当initialScene中出现sceneA实例时,它是堆叠在initialScene实例之上还是它取代了吗?当呈现新场景时,initialScene的实例是否在内存中被释放?我问这个是因为sceneA将有一个后退按钮,当点击该按钮时,用户将返回到初始场景。我能否在sceneA中创建一个