草庐IT

spriteKit

全部标签

ios - 如何重命名 iOS SpriteKit 模板中的默认场景?

我对Swift和iOS开发都很陌生。我一直在开发一款基于Apple的SpriteKit(集成了GameplayKit)模板的游戏。一切正常,直到我将GameScene.swift和GameScene.sks重命名为MapMainScene.swift和MapMainScene.sks。我确保在GameViewController.swift中更改此代码:overridefuncviewDidLoad(){super.viewDidLoad()//Load'GameScene.sks'asaGKScene.Thisprovidesgameplayrelatedcontent//inclu

ios - 将自定义 SKShader 应用于 SKScene,使用 Swift 在 iOS 8 SpriteKit 中对整个渲染场景进行像素化

我正在尝试在SKScene上创建全屏像素化效果。我了解到应该有两种选择来执行此操作:使用GLES2.0的自定义SKShader。使用CoreImage滤镜。我尝试添加一个自定义SKShader,它应该通过像素化来修改整个屏幕。我不确定这是否可能,但来自SKScene(它是SKEffectNode的子类)的文档建议这样做:AnSKEffectNodeobjectrendersitschildrenintoabufferandoptionallyappliesaCoreImagefiltertothisrenderedoutput.可以将SKShader分配给SKScene,如GameSc

ios - 在 iOS 8 的 SpriteKit 中使用 xScale 翻转 Sprite 不会翻转 SKPhysicsBody

我有一个设置,其中有一个空的SKSpriteNode(“播放器”),它有N个SKSpriteNode作为child(body部位,例如“ARM”).每个child都有一个像这样创建的SKPhysicsBody:sprite.physicsBody=SKPhysicsBody(texture:sprite.texture,size:sprite.texture!.size())当我尝试翻转整个Sprite(“玩家”)时self.xScale=-1所有纹理都正确翻转,但SKPhysicsBody不受影响。我如何正确地翻转包含所有子项及其SKPhysicsBody的整个Sprite?

swift - 为什么我的声音让我的游戏在 Swift Spritekit 中滞后?

当我的英雄节点收集硬币并且我的游戏中有这个小问题时,我有这个声音效果。当收集硬币时有声音时,它不像其他游戏那样流畅。我究竟做错了什么?这是我的声音代码:classGameScene:SKScene,SKPhysicsContactDelegate{varcoinSound=NSURL(fileURLWithPath:NSBundle.mainBundle().pathForResource("coin",ofType:"wav")!)varcoinAudioPlayer=AVAudioPlayer()overridefuncdidMoveToView(view:SKView){coin

swift - 有没有办法在 spritekit swift 中读取/获取 fps

有没有办法在swift中获取fps的值?不,我不是说改变frameInterval不,我不是这个意思skView.showsFPS=true我想获取fps,这样我的应用程序就可以等到fps达到60后才开始游戏。出于某种原因,我的应用程序偶尔会“卡住”在40fps并持续5秒,然后慢慢回升到60。这通常发生在我召唤ControlCenter时。 最佳答案 你可以自己计算。在你的场景中做这样的事情:varlastUpdateTime:TimeInterval=0funcupdate(currentTime:TimeInterval){le

swift - SpriteKit - 获取 SKNode 的绝对大小

我正在用Swift和SpriteKit编写一个小游戏,它由一个盒子(4*8)组成。Scene(1024*768)boxes(964*452)row1(932*25)col1(24*116)col2(24*116)col3(24*116)...row2...我想给他们一个纹理,但我不知道图像文件应该有多大。盒子节点的大小似乎是相对于其父节点的。如何获取SKNode的绝对大小,即节点在屏幕上的大小? 最佳答案 所有SKNode都有一个名为calculateAccumulatedFrame的方法

swift - 如何防止 SceneKit 中的 SpriteKit 覆盖拉伸(stretch)?

在WWDC2017SceneKitsession中,他们推荐使用overlaySKScene将SpriteKit层覆盖在SceneKit上,用于HUD等。在我旋转iPhone/iPad之前,它似乎工作正常。现在SpriteKit中的文本都被拉伸(stretch)(如果从纵向变为横向)或收缩(如果从横向变为纵向)。无论如何,无论方向如何,都可以使文本或图形保持相同的大小吗?sceneView.overlaySKScene=SKScene(size:sceneView.frame.size)我用一种非常简单的方法解决了这个问题。只需调整overlaySKScene的大小并重新定位所有内容o

ios - Swift SpriteKit 在后台播放音频

我有一个应用程序需要在后台播放音频...这是否可能将Swift和SpriteKit与SKActions一起使用......或者有没有可能用另一种方式..朝着正确的方向插入会非常有帮助。 最佳答案 SKAction非常易于使用声音,但有时您可能想要做更多。在这种情况下,您可能希望使用AVAudioPlayer代替它。为了不写你自己的“播放器”,我建议你使用一个现有的。这是我已经使用过的(SKTAudio):https://github.com/raywenderlich/SKTUtils/blob/master/SKTUtils/SK

ios - Swift IOS Spritekit 根据设备大小缩放 Sprite 大小

在过去的几周里,我一直在研究SpriteKit、Xcode和Swift,尽管做了很多研究,但我还没有找到在设备之间管理sprite大小的最佳方法。在我的游戏中,我发现了一种处理Sprite大小和位置的迂回方式,通过手动调整大小、字体大小和位置等特性,并使用if语句检查Sprite的高度,使我的Sprite在设备之间保持一致设备。理想情况下,我希望我的整个游戏View(包括它们所包含的Sprite)的大小与设备大小成比例。我试过弄乱不同的SKSceneScaleModes,但没有什么能真正起到作用。我的问题:在SpriteKit中(更具体地说是在Swift中)处理Sprite大小和设备之

ios - 如何在 SpriteKit 中模拟一个比屏幕还大的世界?

我正在寻找合适的SpriteKit方法来处理可滚动的世界。考虑下图:在这个人为的例子中,世界边界是虚线,蓝点可以在这些边界内的任何地方移动。然而,在任何给定的时间点,这个世界的一部分都可能存在于屏幕之外,如图像所示。我想知道如何在“世界”的任何地方移动蓝点,同时保持相机固定在蓝点上。 最佳答案 ThisisAdventure,aspritekitgamebyappletodemonstratethepointImadebelow.Readthroughthedocs,theyexplaineverything目前我找不到一个很好的答