草庐IT

Sprite-Kit

全部标签

swift - 无法打开粒子 SKS 文件

我一直在使用SpriteKit使用Xcode6GM制作游戏,出于某种原因,我的一些.SKS粒子文件现在使Xcode崩溃,这使得它们无法打开。我还注意到,当使用NSKeyedUnarchiver未实现时,使Xcode崩溃的文件也会使我的应用程序崩溃。所以我假设在崩溃的情况下,我的一些SKS文件已经损坏。除了为我所有损坏的SKS粒子文件重新从头开始之外,是否有任何解决方案?我可以通过外部编辑器以某种方式手动修改SKS文件并解决问题吗?还有我将来可以采取的任何步骤来确保我的SKS文件不会再次损坏(即Xcode6中是否有一些我应该知道的错误导致SKS文件损坏)。编辑:Xcode似乎将这些文件视

swift - 如何设置 SKLabelNode 的字体大小以适应固定大小(Swift)

我有一个正方形(200X200),里面有一个SKLabelNode。标签显示分数,它可以达到很大的数字。我想要适合广场上的数字。如何更改SKLabelNode的文本大小(或大小)以使其适合固定大小。 最佳答案 可以将SKLabelNode的框架大小与给定的矩形进行比较。如果按标签矩形和所需矩形的大小比例缩放字体,则可以确定最佳字体大小以尽可能多地填充空间。最后一行方便地将标签移动到矩形的中心。(如果文本只是小写字母或标点符号等短字符,它可能看起来会偏离中心。)swiftfuncadjustLabelFontSizeToFitRect

swift - 如何设置 SKLabelNode 的字体大小以适应固定大小(Swift)

我有一个正方形(200X200),里面有一个SKLabelNode。标签显示分数,它可以达到很大的数字。我想要适合广场上的数字。如何更改SKLabelNode的文本大小(或大小)以使其适合固定大小。 最佳答案 可以将SKLabelNode的框架大小与给定的矩形进行比较。如果按标签矩形和所需矩形的大小比例缩放字体,则可以确定最佳字体大小以尽可能多地填充空间。最后一行方便地将标签移动到矩形的中心。(如果文本只是小写字母或标点符号等短字符,它可能看起来会偏离中心。)swiftfuncadjustLabelFontSizeToFitRect

ios - 如何使用 spriteKit 快速绘制圆圈?

刚开始用swift做ios开发,不知道怎么画圆。我只是想画一个圆圈,将它设置为一个变量并显示在屏幕上,这样我以后就可以将它用作主要播放器。任何人都可以告诉我如何执行此操作或为此提供代码吗?我在网上找到这段代码:varCircle=SKShapeNode(circleOfRadius:40)Circle.position=CGPointMake(500,500)Circle.name="defaultCircle"Circle.strokeColor=SKColor.blackColor()Circle.glowWidth=10.0Circle.fillColor=SKColor.yel

ios - 如何使用 spriteKit 快速绘制圆圈?

刚开始用swift做ios开发,不知道怎么画圆。我只是想画一个圆圈,将它设置为一个变量并显示在屏幕上,这样我以后就可以将它用作主要播放器。任何人都可以告诉我如何执行此操作或为此提供代码吗?我在网上找到这段代码:varCircle=SKShapeNode(circleOfRadius:40)Circle.position=CGPointMake(500,500)Circle.name="defaultCircle"Circle.strokeColor=SKColor.blackColor()Circle.glowWidth=10.0Circle.fillColor=SKColor.yel

ios - 使用 Swift 创建 SKSpriteNode 子类

我正在尝试创建类,它是SKSpriteNode的子类,我想向它添加其他属性和函数。但是在第一步中我遇到了一个错误。这是我的代码:importSpriteKitclassBall:SKSpriteNode{init(){super.init(imageNamed:"ball")}}这不是编译错误,是运行时错误。它说:Thread1:EXC_BAD_INSTRUCTION(code=EXC_I386_INVOP,subcode=0x0)andfatalerror:useofunimplementedinitializer'init(texture:)'forclassProject.Bal

ios - 使用 Swift 创建 SKSpriteNode 子类

我正在尝试创建类,它是SKSpriteNode的子类,我想向它添加其他属性和函数。但是在第一步中我遇到了一个错误。这是我的代码:importSpriteKitclassBall:SKSpriteNode{init(){super.init(imageNamed:"ball")}}这不是编译错误,是运行时错误。它说:Thread1:EXC_BAD_INSTRUCTION(code=EXC_I386_INVOP,subcode=0x0)andfatalerror:useofunimplementedinitializer'init(texture:)'forclassProject.Bal

swift - collisionBitMask 是如何工作的? swift/ Sprite 套件

据我所知,物理实体的默认设置是在它们相互碰撞时相互反弹,直到您将它们的collisionBitMask设置为相等的数字。但是,由于我相信碰撞位掩码,我在完成看起来应该非常简单的事情时遇到了一个大问题。letRedBallCategory:UInt32=0x1所以在这里,我有我的2个球和我的边框。我可以获得我想要的碰撞检测,但是当我添加边框体的类别位掩码时,它允许球穿过和离开屏幕,这是我不想要的。我还希望球相互反弹,但只有当我注释掉球的类别位掩码之一时,它们才会反弹。否则它们会相互穿过。这对我来说完全没有意义,因为这些项目中的每一个都有不同的碰撞位掩码。有时我也遇到过这样的情况,将所有数

swift - collisionBitMask 是如何工作的? swift/ Sprite 套件

据我所知,物理实体的默认设置是在它们相互碰撞时相互反弹,直到您将它们的collisionBitMask设置为相等的数字。但是,由于我相信碰撞位掩码,我在完成看起来应该非常简单的事情时遇到了一个大问题。letRedBallCategory:UInt32=0x1所以在这里,我有我的2个球和我的边框。我可以获得我想要的碰撞检测,但是当我添加边框体的类别位掩码时,它允许球穿过和离开屏幕,这是我不想要的。我还希望球相互反弹,但只有当我注释掉球的类别位掩码之一时,它们才会反弹。否则它们会相互穿过。这对我来说完全没有意义,因为这些项目中的每一个都有不同的碰撞位掩码。有时我也遇到过这样的情况,将所有数

swift - CUI目录 : Invalid Request: requesting subtype without specifying idiom (Where is it coming from and how to fix it? )

当我运行我的SpriteKit游戏时,我在控制台中多次收到此错误。据我所知(尽管我不完全确定),游戏本身没有受到影响,但该错误可能会带来一些其他影响,以及使调试控制台拥挤。我对该错误进行了一些研究,并找到了一些可能的解决方案,但似乎都没有完全奏效。这些解决方案包括将ignoresSiblingOrder设置为false,并将纹理指定为SKTextureAtlas(named:"atlasName").textureNamed("textureName"),但是这些没有用。我认为错误来自Assets目录中纹理和纹理图集的使​​用,尽管我不完全确定。以下是我如何实现其中一些纹理/图像:le