草庐IT

Sprite-kit

全部标签

ios - Swift:如何在 SpriteKit 中跟踪和传达场景之间的分数

我正在用spritekit构建一个游戏,该游戏具有三个场景:主菜单、游戏场景和游戏结束场景。我需要主菜单显示最高​​分,游戏场景显示当前分数,游戏结束场景显示最高分和玩家上次游戏的分数。我将如何在场景之间传输这些分数数据以及我将如何跟踪玩家的高分?环顾四周,我发现了有关NSUserDefaults的内容,但我不知道如何正确实现它。诚然,我是SpriteKit的新手,一般来说是编码方面的新手,所以我需要非常具体的说明。抱歉,如果这个问题相当宽泛。谢谢。 最佳答案 NSUserDefaults是跟踪分数的好方法。保存高分:letx:In

ios - 复杂的敌人行为和模式

我想在我的SpriteKit游戏中稍微改变一下我的敌人。他们是如此......可以预测。《以撒的结合:重生》中遇到的各种敌人启发了我。例如,假设我想实现在enemy.health时split成两个较小的敌人的敌人。.在一个简单的场景中,这可以通过遍历我所有的敌人从我的主场景更新循环来完成。像这样的东西:if(enemy.health这可能适用于简单的情况。但这是我绝对想避免出现在我的主场景更新循环之外的东西。问题是我的敌人类实际上是SKSpriteNode的子类.对于这种情况,理想情况下我想要一个新类,例如ComplexEnemy或EnemyGroup类来处理这个,这样我就可以实现更复

ios - Xcode 6.3 : 8. 0 或 8.0.2 模拟器

这个问题在这里已经有了答案:HowtoinstalliOS7.0andiOS8.0SimulatorsinXcode6.1?(1个回答)关闭7年前。问题:Xcode6.3没有8.0模拟器;我使用的是swift1.2,所以我无法在早期版本的Xcode下编译该项目;我在iOS8.0设备上有很多spritekit崩溃(崩溃报告不是很有用,它们与spritekit本身有关);它在iOS7.1和8.1+上运行良好有没有办法从Xcode6.3在8.0或8.0.2模拟器上安装构建?崩溃报告示例:Thread:Crashed:com.apple.main-thread0SpriteKit0x00000

swift - 随机生成一个 Spritekit 节点

我正在制作一个游戏,其中有一个节点从屏幕顶部生成并掉落。但是我想让节点在3秒的时间间隔内随机生成。所以一个在1秒内生成,下一个在2.4秒内生成,下一个在1.7秒内生成,等等。我正在为这个代码应该是什么而苦苦挣扎。我目前拥有的用于生成节点的代码:letwait=SKAction.waitForDuration(3,withRange:2)letspawn=SKAction.runBlock{addTears()}letsequence=SKAction.sequence([wait,spawn])self.runAction(SKAction.repeatActionForever(sp

swift - 如何快速停止 Sprite 套件更新?

overridefuncupdate(currentTime:NSTimeInterval){//...}当我的游戏结束时,我想停止spritekit的更新。我应该在swift中使用哪个函数? 最佳答案 你可以使用bool就像当你的游戏结束时只是让true并将if条件放在你的更新方法中,如:overridefuncupdate(currentTime:NSTimeInterval){//ItwillexecutetillgameOverisfalsebutwhenyoumakeyourgameOvertruethenitwillno

swift - 如果分数增加,为什么我的 SKLabelNode 会离开页面

所以我有一个显示用户高分的SKLabelNode,当用户高分例如为5时,标签位置与分数为35或100时的位置不同标签离开屏幕,请有人帮忙解决这个问题,如果高分发生变化,有没有办法让标签保持在同一位置?我需要对标签施加限制吗?顺便说一句,这是在spritekitand中使用swift 最佳答案 您想使用SKLabelNodeHorizontalAlignmentMode.Left在这里,像这样:classGameScene:SKScene{varlabel=SKLabelNode(fontNamed:"ArialMT")varscor

swift - 如何将物理体赋予弧线?

我有两条弧形成一个圆(SKCropNode),每条都有不同的颜色。我知道我可以给整个圆一个circleOfRadius,但我想知道是否可以只给一个圆弧一个物理体来适应圆弧的形状。非常感谢帮助。 最佳答案 您可能希望避免使用SKCropNode来构建弧线。来自Apple的文档,Useclippingandeffectnodessparingly.Bothareverypowerful,butcanbeexpensive,especiallywhennestedtogetherwithinthenodetree.或者,您可以构建一个弧形

ios - Swift - 将背景图像添加到 Spritekit 场景

这是我的代码,我没有为我的图像InterfaceBakground.jepg使用Assets目录。相反,我只是将这个2048x1535图像拖到项目中。但是图像没有以正确的方式出现。我希望图像显示为背景图像,填满整个屏幕。importSpriteKitimportGameplayKitclassGameScene:SKScene{varbackground=SKSpriteNode(imageNamed:"InterfaceBakground.jpeg")overridefuncdidMove(toview:SKView){background.position=CGPoint(x:se

swift - SpriteKit : Howto make holes in layer with blendMode

我有一个添加了一些元素的简单场景。现在我想专注于一个带有mask的特定元素,并在与我想要专注的元素相同的位置切割一个整体。非常类似于我们在某些游戏上看到的,当它们第一次启动时显示某种教程。基本上,我添加了一个带alpha=0.7的全屏层(这样用户仍然可以看到所有内容),然后在特定位置添加一个圆圈作为该层的子层并设置blendMode=。减去它从这个全屏层“切”出一个圆圈,所以在这个圆圈内你有一个清晰的View。将所有元素添加到屏幕后,我有以下代码。//beforethiscodeiaddedsomebasicelementslikecirclesandbackgroundsletmas

swift - 以编程方式将按钮添加到 GameScene.swift 并在按下时转换场景

我一直在努力尝试实现一种添加按钮的方法,当按下按钮时,场景会转换到我的第二个View。我读过其他帖子,但在Swift3中的某些方面运气为零。我真的很困惑并且尝试过但失败了很多次。希望你能帮忙!谢谢!SpriteKit中的Swift3。 最佳答案 过渡到新View是什么意思?在制作SpriteKit游戏时,我们倾向于在SKScenes而不是View之间进行转换。所以不要尝试为每个场景创建不同的View或ViewController,直接在SKScenes之间转换即可。关于按钮,有很多可用的教程。您基本上创建一个SKSpriteNode