Tag: 精灵套装

SpriteKit在;input背景时崩溃

我search了这个,并且发现了很多关于这个问题的争论,我知道这个问题与Spritekit的OpenGl渲染有关,有些人在用Spritekit玩AUdio时面临这个问题。 虽然我的情况是不同的,我面临这一点,当我使用function整合Flurry发行商Api 在[Flurry startSession:FlurryAPPKey]; 在APPDelegete文件中 注释掉上面的代码删除了这个问题。 我觉得有一些事情,当你与SpriteKit integerate这发生,因为我发现在谷歌,如AVAudioSession等, 我只是想知道,什么是避免这种渲染问题的最佳做法,或者这可能真的发生在Flurry Sdk 4.4.2? 不知道,但回溯显示 #0 0x3311b932 in gpus_ReturnNotPermittedKillClient () #24 0x31032844 in UIApplicationMain () #25 0x0004cd16 in main at …. 这里是示例代码Flurry SpriteKit的链接

使用SpriteKit和SWIFT为游戏构build网格级别

我正在寻找构build游戏关卡的最佳方式: 游戏将由多个层次组成,每个层次都将是独一无二的。 你会播放一个对象(这里是明星),这是在网格上移动。 物体只能移动到底部,不能返回。 一个级别由多个案例组成,每个案例都会有不同的行为。 我的水平将有一个背景,屏幕的宽度,但高度将取决于水平,我想是屏幕的高度的许多倍。 背景移动取决于对象的移动 现在,我正在研究一个小原型,只是为了学习。 阅读了许多教程后,我的想法是使用SKSpriteNode创buildx个方块(菱形)。 并用标识符来标识正方形。 我不知道在性能方面是否是一个好的解决scheme? 他们会在一个层面上很多广场。 我不知道:) 我们受限于一个场景中的节点数量吗?

除了GameScene,如何创build更多的SKScene

我试图创build一个SKScene“MainScene”的新子类,就像创buildGameScene的一个苹果一样。 我想创造更多的场景,除了我的“GameScene”,但它不工作。 以下是我的子类代码。 MainScene: import SpriteKit #if !os(iOS) import AppKit #endif class MainScene : SKScene { override func didMoveToView(view: SKView) { backgroundColor = UIColor.blueColor() } } MainSceneViewController: import UIKit import SpriteKit class MainViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() if let scene = MainScene(fileNamed:"MainScene") { // Configure the view. let skView = self.view as! […]

Swift + Physics:碰撞时错误的angular度计算

我有一个简单的SpriteKit应用程序与墙壁和一个球。 两个都设置了SKPhysicsBody 。 当我向一个方向施加一个力时,我认为球在碰撞时以相同的angular度在墙上reflection,而在相反的方向上。 但有时我看到这个angular度很奇怪。 我玩了很多所有的physicsBody属性,但无法修复它。 有时第一reflection看起来不错,但是第三或第六reflection有时候是错误的。 我从不同的post看,人们有点自我计算“正确的方向”。 但是我无法想象SpriteKits物理引擎是不行的。 检查我的附加图像,了解我的意思。 有人可以帮忙吗? 我不想开始使用Swift的Box2d,因为这看起来对于我来说很难融入到Swift中。 这是我的GameScene.swift文件中的physicsWorld init,其中所有元素都添加到了: self.physicsWorld.gravity = CGVectorMake(0, 0) 添加我所有的代码会太多,所以我添加了重要的部分。 希望它足以进行分析。 像球,墙的所有元素都是SKSpriteNode的 这是球的physicsBody代码: self.physicsBody = SKPhysicsBody(circleOfRadius: Constants.Config.playersize+self.node.lineWidth) self.physicsBody?.restitution = 1 self.physicsBody?.friction = 0 self.physicsBody?.linearDamping = 1 self.physicsBody?.allowsRotation = false self.physicsBody?.categoryBitMask = Constants.Config.PhysicsCategory.Player self.physicsBody?.collisionBitMask = Constants.Config.PhysicsCategory.Wall | Constants.Config.PhysicsCategory.Enemy self.physicsBody?.contactTestBitMask = Constants.Config.PhysicsCategory.Wall | Constants.Config.PhysicsCategory.Enemy 这是墙的物理学体: el = SKSpriteNode(color: […]

解散SKScene返回到UIKit菜单

一旦我的SpriteKit游戏结束,我想回到我的UIKit MenuViewController 。 从我迄今为止学到的,使用协议/委托是最好的(?)选项,但是我一直没有能够得到这个工作。 我知道该协议可能会超过GameViewController的类声明,看起来像这样: protocol GameViewControllerDelegate { var gameOver: Bool? } 但是我需要帮助从GameScene访问它,并得到它来消除GameViewController 。 下面是应用程序的骨骼,以防万一。 MenuViewController class MenuViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() } @IBAction func goToGame(_ sender: UIButton) { performSegue(withIdentifier: "toGameSegue", sender: sender.currentTitle) } override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if let destinationVC = segue.destination as? GameViewController { if let […]