草庐IT

Sprite-Kit

全部标签

ios - 为什么 SKAction.playSoundFileNamed 会崩溃?

注意:已经几天了,我仍然遇到这个问题。有一件事会有所帮助,那就是了解一些可以尝试的故障排除想法,这样我就可以找出导致崩溃的原因。任何能引导我走向正确方向的帮助将不胜感激。我在模拟器以及多个不同的iOS设备上运行Xcode8.2.1。无论走到哪里,我都会遇到同样的问题。我已经将一个小的mp3文件导入到我的spritekit项目中,名为“cat_meow_1.mp3”当我在Xcode中选择文件并点击播放按钮时,它可以正常播放。顺便说一下,我尝试过使用各种格式的各种不同文件,结果相同。在我的代码中,它符合要求,当我到达该行时:run(SKAction.playSoundFileNamed("

Swift SpriteKit Sprite 移动但保留原始位置

使用带有集成游戏工具包的普通游戏应用程序设置。在场景中确实加载了我添加的self.hero=SKShapeNode.init(rectOf:CGSize.init(width:10,height:10),cornerRadius:1)iflethero=self.hero{letpos=CGPoint.init(x:-50,y:-90)hero.lineWidth=5hero.position=pos}self.addChild(self.hero!)然后在我添加的update函数中iflethero=self.hero{letmoveAction=SKAction.moveTo(x:

Swift:在 GameScene 中使用 StoryBoards 和 UIViewControllers 满足条件后返回主菜单?

上下文这个问题与Swift:SKSpriteKit,usingStoryboards,UIViewControllerandUIButtontosetingameparameters?有关并使用相同的M.W.E.(下面的链接)。看看Main.storyboard我们看到以下内容:虽然这个Storyboard允许通过单击从左到右前进:play->(easy/hard)->GameSceneUIViewController->MyUIViewController->GameViewController然后从右到左单击最后一个UIViewController上的UIButton和UILabe

swift - 子类化节点操作时 CPU 使用率达到 100%

我正在设计一个游戏,我希望最多20个节点(子类为LocationNode)同时在屏幕上旋转。但是,当我调用以下函数时,我的CPU使用率达到100%,应用程序崩溃了。这是spinLocations()函数,它在存储在locationPositions数组中的节点上调用自旋:funcspinLocations(){for(key,val)inlocationPositions{letlocationNode=fgNode.atPoint(val)as?LocationNodeletfinalLocation=generateRandomLocation()locationNode?.spi

ios - 为什么 SKShapeNode 会撕裂?

当用户沿着一条线进行追踪时,SKShapeNode路径是从线段(来自底层“图block”)构建的。实际路径是通过锁定用户之前拖过的线来构建的,并在最近的线上找到最近的点到最新的触摸点,然后像这样构建路径:varactivatedPointPath:UIBezierPath{letactivatedPointPath=UIBezierPath()//self.state.activatedPointscontainstheendpoint//ofeachfulllinesegmenttheuserhastracedthroughifletfirstActivatedPoint=self.

从圆形快速射击物体

我在中间有一个圆圈,我需要朝与我触摸并从播放器出来的方向相反的方向发射子弹,我写了以下代码但没有任何反应privatefuncfire(position:CGPoint){letbullet=SKShapeNode(circleOfRadius:2)bullet.strokeColor=SKColor.darkGraybullet.fillColor=SKColor.darkGraybullet.physicsBody=SKPhysicsBody(circleOfRadius:2)letposX=(position.x)*-1letposY=(position.y)*-1letpos=

swift - 平滑 SKShapeNode 上未描边路径的边缘

我一直在使用Swift的内置绘图工具绘制一些形状,用直线绘制简单的路径。我注意到的一个异常情况是,如果您想要一条已填充但边缘没有线条描边的路径,则它会在没有抗锯齿的情况下呈现并且外观粗糙。相反,默认情况下,一条线总是呈现平滑。有一个选项可以打开抗锯齿,但这也没有什么区别。我可以让描边与填充颜色相同,但这意味着边缘从定义形状的点位置向外扩展。//createsshapenodetocontainpathletmyTriangle=SKShapeNode()//declarespathobjectletmyPath=CGPathCreateMutable()//movestostartin

swift - 为小字符使 SKLabelNode 的触摸区域更大

我在我的游戏中添加了一个老式的高分输入屏幕,用户可以在其中点击每个字母来输入他们的名字。每个字母、符号或短语('DEL'、'SP'等)都是一个SKLabelNode并且很难点击','和'.'。字符和一些符号。通过通常的touchesBegan检测每次点击为了让延迟更容易,我计划在每个字母后面放置一个更大的节点并更新touchesBegan以检测标签本身或其他标签上的触摸,在这种情况下只需使用子节点触摸(将是字母或短语)。在我这样做之前,我想知道是否有一种简单的方法来实现我想要的,可以通过检测最近的SKLabelNode来实现。 最佳答案

swift - 使用 SKKeyFrameSequence 值驱动自定义 SKAction,怎么样?

对于由自定义SKAction完成的运动,我想要一种比传统方程式创建的曲线更强大的缓动类型。如何使用SKKeyFrameSequence在SKAction中驱动动画?SKKeyFrameSequence创建我想要的曲线类型,如下所示:letsequence=SKKeyframeSequence(keyframeValues:[0.00,0.05,0.25,0.70,0.85,0.95,0.98,1.00],times:[0.00,0.10,0.15,0.20,0.23,0.28,0.50,1.00])sequence.interpolationMode=.splinestride(fro

ios - 减少 SpriteKit 游戏的电池使用量

我已经在SpriteKit中开发了一款名为UpandDowntheRiver的纸牌游戏。这是一个相当简单的纸牌游戏,带有一些动画,例如发牌和打牌的Action。根据调试器工具,它通常非常高的能源利用率并且平均接近每秒170次唤醒。(如下图)SpriteKit游戏的典型特征是什么?一个简单的纸牌游戏应该消耗这么多能量吗?如果不是,我应该寻找什么来减少能源使用?注意:这是在macOS上运行的,但是该游戏是跨平台的(即iOS和macOS)。我在iOS设备上运行得到了类似的结果。 最佳答案 当SpriteKit运行时,它会不断更新屏幕(通常