草庐IT

ios - 检查场景中的位置是否被 Sprite 占用

我正在使用Xcode、SpriteKit和Swift构建我的第一款iPhone游戏。我对这些技术不熟悉,但我熟悉一般的编程概念。这是我想用英语做的事情。我想让圆圈随机出现在屏幕上,然后开始变大。但是,我不希望在当前存在圆圈的位置出现圆圈。我无法确定每个圆圈的位置。在GameScene.swift中,我在didMoveToView中有以下代码:runAction(SKAction.repeatActionForever(SKAction.sequence([SKAction.runBlock(addCircle),SKAction.waitForDuration(3,withRange:

ios - 在 Swift + Sprite Kit 中更改场景的最简单方法

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭7年前。Improvethisquestion我只是想知道在Swift+SpriteKit中更改场景的最简单方法是什么?

ios - 如何在 sprite kit 游戏中改变重心?

我一直在努力寻找,但没有成功。有没有办法以这种方式改变物理世界的重力属性,使物体不会被吸引到屏幕底部,而是被吸引到屏幕的中心? 最佳答案 使用SKFieldNode为了那个原因。只需将它放在map的中心并通过将重力设置为零的代码禁用重力(CGVector(0,0))我会给你代码,但我不使用ObjectiveC,所以我不知道它的确切语法。我可以试一试……[physicsBodysetGravity:CGVector(0,0)];请注意,我不知道这是否是正确的语法编辑:提问者在Swift中请求了一个SKFieldNode的例子,所以就在

ios - 在 Swift Sprite-Kit 游戏中实现游戏菜单

我创建了一款平台游戏,当我开始游戏时,它会直接进入游戏。我想要一个菜单​​,其中有一个开始游戏的按钮和一个通往商店的按钮,可以用已赚取的游戏货币购买不同的背景或角色。如果有人可以帮助我实现这种菜单,我将不胜感激。如果我能在玩游戏时获得有关如何暂停游戏的帮助,那就太好了。 最佳答案 您可以为菜单创建场景。当用户按下开始按钮时,您将展示您的游戏场景。classMenuScene:SKScene{overridefuncdidMoveToView(view:SKView){addButtons()}privatefuncaddButton

ios - 在 Sprite 工具包中将文本写成一个圆圈(swift)

我想画一个圆圈,然后在里面放一段文字。我能做什么?如果我移动或调整圆圈的大小,文本也会移动或调整大小varcolor=UIColor(red:0x00,green:0x44,blue:0x44,alpha:1)varCircle=SKShapeNode(circleOfRadius:100)Circle.position=CGPointMake(frame.midX,frame.midY)Circle.strokeColor=SKColor.blackColor()Circle.glowWidth=1.0Circle.fillColor=colorletmyLabel=SKLabelN

sprite-kit - 我如何在 Swift 和 SpriteKit 中使用 whiteColor

我正在运行Yosemite和Xcode6。我使用“游戏”选项、SpriteKit和Swift创建了一个新项目。在GameScene.swift的didMoveToView()覆盖中,我添加了以下行以尝试更改背景色:self.backgroundColor=SKColor(whiteColor)这会编译但不会运行,并因错误“使用未解析的标识符‘whiteColor’”而停止唯一的导入是:importSpriteKit我是否需要另一个导入来定义whiteColor(我假设它是某处头文件中的常量? 最佳答案 +[SKColorwhiteC

ios - 如何平铺 Sprite 节点的纹理?

使用SpriteKit,我如何平铺水平重复自身的SKTexture以填充SKSpriteNode的宽度?这是我目前所拥有的-仅拉伸(stretch)纹理。varheader=SKSpriteNode()letheaderTexture=SKTexture(imageNamed:"inGameHeader-1.png")header=SKSpriteNode(texture:headerTexture)header.position=CGPoint(x:0,y:CGRectGetMaxY(self.frame)-39)header.size.width=CGRectGetWidth(se

swift - 如何使用gameplaykit将 Sprite 分配给场景编辑器中的实体

我目前正在使用我自己的实体系统开发一款我正在开发的游戏,但我刚刚了解了skentity和skcomponent的游戏工具包用法。这似乎是一个好的设计模式,我想学习如何使用它。到目前为止,我一直在学习本教程:https://www.raywenderlich.com/155780/gameplaykit-tutorial-entity-component-system-agents-goals-behaviors-2它在如何使用它方面非常详细,但是我想知道,如果不是在gamescene.swift文件中创建实体,我可以在编辑器中这样做吗?目前我正在对大多数游戏元素进行子类化,所以我可以在

ios - FPS 下降和游戏变慢 - Sprite-Kit 和 Swift

我有一个使用Sprite-Kit和Swift的游戏,我在其中生成从屏幕顶部落到屏幕底部的随机圆圈。启动游戏时,它一开始运行得很好(大约60FPS或更低),但随后FPS逐渐下降,游戏变得非常慢......我不明白为什么FPS随着时间下降(节点数量保持在8-10左右,因此当它们离开屏幕时会被删除)——我在iOS模拟器和实际设备上测试过它,有什么想法吗?我已经检查过,问题不是来自内存泄漏。另外,我只使用一个ViewController。我认为可能导致此问题的唯一功能是这个,但我不知道为什么:/*Functiontogeneratesinglerandomcircle*/funcgenerat

ios - 在 Sprite Kit 中拖动一个对象与另一个对象碰撞时不会发生弹跳

Here是我遇到的问题的视频。正如您在视频中看到的那样,我移动了一个灰色的球,试图与一个红色的球碰撞。当两个物体碰撞时没有弹跳发生,红球只是移动。我试过调整红球的密度,比如让红球的密度为0.00001。碰撞行为没有差异。如何更改碰撞行为以产生弹跳?这是灰色球的属性:funcpropertiesGrayBall(){gray=SKShapeNode(circleOfRadius:frame.width/10)gray.physicsBody=SKPhysicsBody(circleOfRadius:frame.width/10)gray.physicsBody?.affectedByGr