我正在尝试在spritekit中制作一个具有随机彩色背景的新应用程序,我所做的就是设置背景颜色并在游戏中创建一个球,但它不会首先启动我会给出我的代码,然后是错误。到目前为止,这是我的代码。importSpriteKitclassGameScene:SKScene,SKPhysicsContactDelegate{structPhysicsCategory{staticletNone:UInt32=0staticletAll:UInt32=UInt32.maxstaticletTriangle:UInt32=0b1//body1staticletCircle:UInt32=0b10//2
我正在尝试将GameCenter排行榜和成就添加到我的游戏中,但我在Swift中找不到任何SpriteKit教程。所有的教程都有self.presentViewController(viewController,animated:true,completion:nil)但在SpriteKit中不起作用 最佳答案 如果您已经在UIViewController中,您可以这样调用它。但是如果你想从你的SKScene显示一个UIViewController你应该访问rootViewController并从那里显示Controller:sel
我目前正在制作一个飞扬的鸟克隆,并且在我的didMoveTOView方法中有一个SKAction(runActionForever)。但是,一旦我死了,我想终止该操作,然后弹出屏幕。overridefuncdidMoveToView(view:SKView){varendlessAction=SKAction.runActionForever(spawn,delay)}funcdied(){endlessAction.....?screenDied.position=CGPoint(self.frame.x/2,self.frame.y/2)addChild(screenDied)}现
我是Swift/Objective-C的新手,但多年来一直使用Xojo(类似于VisualBasic)编写Mac和Windows应用程序/游戏。我想制作一个简单的回合制战略游戏,它带有一个平铺的六边形map,我想在MacOSX的Swift中完成它。最好从什么技术入手?这可以通过SpriteKit实现吗,或者是否有任何其他我可以与Swift一起使用的开源图block引擎让我领先一步(虽然我可以编写自己的十六进制引擎,但我宁愿不这样做,因为这不是制作一个有趣的部分游戏!)。 最佳答案 您可以使用开源磁贴引擎。“Tiled”是我用过的其中
我在一个单独的Swift文件中创建了一个“SPriteKitButton”SKNode子类,用于在SpriteKit中制作自定义按钮类对象。我像这样初始化一个新按钮:self.homeButton=SpriteKitButton(buttonUnpressedImage:"homeUnpressed.png",buttonPressedImage:"homePressed.png",buttonName:"homeButton",scale:1,buttonAction:returnHome)self.addChild(homeButton)该按钮效果很好,但是当我使用presentS
我需要移动一个节点而不是SKAction来使用速度因为在这个问题MovingNodeontopofamovingplatform我希望节点随平台移动,但由于平台没有速度,我无法使用EpicByte建议这就是我移动节点的方式//Movenodeverticallyletup=SKAction.moveByX(0,y:200,duration:moveDuration);letdown=SKAction.moveByX(0,y:-200,duration:moveDuration);node.runAction(SKAction.repeatActionForever(SKAction.s
我正在开发一个SpriteKit游戏,我有一个名为hero的节点,它会躲避接近的恶棍。我对applyImpulse的跳跃Action有疑问,在这种情况下,英雄可以反复跳跃和飞行,而不是躲避坏人。我使用了一个bool变量来更改定时器值的状态,使其在3秒内仅跳转一次,但这是行不通的。这是我的代码overridefunctouchesBegan(touches:NSSet,withEventevent:UIEvent){ifisGameOver==true{self.restart()}ifisstarted{self.runAction(SKAction.playSoundFileName
我有一个SKSpriteNode(“称为球”),它是通过向其physicsBody施加脉冲来启动的。在我的didBeginContact方法中,我检查节点是否与障碍物发生碰撞。如果是这样,我希望SKSpriteNode立即停止移动(例如,“坚持”到它碰撞的对象)。问题是,当意识到球已经与障碍物发生碰撞并且球的速度设置为0时,球已经反弹,而不是碰到它碰撞的障碍物,现在是30像素左右离开funcdidBeginContact(contact:SKPhysicsContact){ballInMidAir=falsevarfirstBody:SKPhysicsBody=contact.body
我有一个生成敌人然后将它们移动到屏幕上的序列,它本质上是这样写的moveAndRemoveEnemy=SKAction.sequence([moveEnemy,removeEnemy])enemy.runAction(moveAndRemoveEnemy)问题是我想在序列中添加另一个Action,在敌人被移除后更新分数。我尝试制作一个单独的方法来增加分数,将其称为SKAction.runBlock()并将其插入到序列中,如letupdateScore=SKAction.runBlock{self.increaseScore()}moveAndRemoveEnemy=SKAction.s
我正在尝试在SKView之上添加一个SCNView。我的层次结构以UIViewController开始。从那里,我在UIViewController的View之上显示了一个SKScene。然后我添加了几层SKSpriteNodes。从视觉上来说,我想在SKSpriteNodes的顶层之上添加一个SCNView来显示一行SCNBoxes。除了创建另一个UIViewController,将我的所有组件添加到该新Controller之上,然后将其添加到我当前现有的ViewController之外,我还有什么办法可以做到这一点?我会很感激Swift代码的解决方案,但我能够读/写Objectiv