草庐IT

swift - 动画 SKScene 背景颜色

我正在制作游戏,我想知道您是否知道我将如何制作SKScene背景颜色的动画以快速循环淡出随机颜色?谢谢 最佳答案 如果您只想在UIView中执行此操作funccolorChanges(){UIView.animate(withDuration:1.0,animations:{self.view.backgroundColor=UIColor(displayP3Red:CGFloat(arc4random())/CGFloat(UInt32.max),green:CGFloat(arc4random())/CGFloat(UInt32

swift - SpriteKit 和 Swift : How to create level "segments" that are randomly "stitched" together to create an endless game?

我所说的概念类似于许多简约、流行的手机游戏中的游戏风格,例如ColorSwitch、LineZen、Phases或Bounce。这些是由一系列随机排列的“关卡”或“房间”组成的无尽游戏,一个接一个,营造出无尽游戏的效果。关键是每个关卡的挑战都不是随机的,它们是事先设计好的,如果某个关卡是随机选择的,它就会出现在屏幕上,玩家就会穿过那个关卡。我认为这个概念可以称为程序生成,但我并不肯定。我如何使用Swift在SpriteKit中执行此操作?我不太确定从哪里开始,也许为每个关卡段创建一个函数,然后每隔几秒,随机选择一个放在屏幕上?感谢任何帮助!非常感谢! 最佳答

ios - 在多个 SKScenes 中使用 SKEmitterNode

我有一个新游戏,刚开始使用swift在spritekit中构建,我想知道如何在多个场景中无缝使用SKEmitterNode。目前我的游戏包含3个场景:菜单、游戏和游戏结束。我想在所有3个场景的背景中不间断地使用SKEmitterNode。任何帮助将不胜感激,谢谢! 最佳答案 感谢KnightOfDragon和Whirlwind在评论中的帮助,只需将发射器传递到下一个场景就可以正常工作并且不会中断粒子。我在“介绍”场景中设置了SKEmitterNode并在全局声明了它。然后在移动到下一个之前的当前场景:emitter.removeFr

swift - 类扩展 SKScene 但无法访问其属性

我有一个扩展SKScene的菜单类,但我无法访问View,这是SKScene的一个属性。相反,我收到以下错误:“实例成员‘view’不能用于菜​​单类型。”我需要做什么特别的事情才能访问它吗?看起来它应该已经可以调用它了。这是该类的简化版本:classMenu:SKScene{varblueButton:Button!vartouchNode:SKSpriteNode!varnewScene:SKScene?overridefuncdidMove(toview:SKView){blueButton=self.childNode(withName:"Start")as!Button}..

ios - 使用 UserDefaults 在 SKScenes 之间传递字符串

在我使用Swift开发的游戏中,我希望玩家能够在类似商店的场景中选择背景,从而更改每个SKScene的背景。我正在尝试使用UserDefaults来完成此操作,但由于某种原因它无法正常工作。下面是Shop场景的重要代码(我去掉了不相关的代码):importSpriteKitclassShopScene:SKScene{varbackNumber=90varbackRemainder=0varbackground=SKSpriteNode()varbackName:String="back1"overridefuncdidMove(toview:SKView){background.te

ios - Swift - 将 SKScene 叠加到 UIView 上 - 灰色背景

我是Swift和Xcode的新手,只是在玩弄SpriteKit。我所做的是在main.storyboard中创建了一个UIView。UIView(名为overlayedGameScene)只占据了大约一半的屏幕,所以你应该能够看到主要的UIView(self.view)。importUIKitimportSpriteKitimportGameplayKitclassGameViewController:UIViewController{@IBOutletvaroverlayedGameScene:SKView!overridefuncviewDidLoad(){super.viewDi

快速 SKSprite 从一个 GameScene 移动到另一个

我是Swift和SKSPRITE的新手我在我的第一个类GameScene上添加了一个按钮:SKScene。单击按钮后,我想移动到新的GameScene。我怎样才能做到这一点?我有方法覆盖functouchesBegin(touches:NSSet,withEventevent:UIEvent){... 最佳答案 http://www.raywenderlich.com/42699/spritekit-tutorial-for-beginners我的回答是从这个RayWenderlich教程中删除的:SKTransition*reve

ios - 从另一个 SKScene 中呈现一个 SKScene

在我的主UIViewController中,我定义了两个SKScenes。我只想首先呈现gameScene,然后在gameScene中的Action触发(按下暂停按钮)后呈现uiScene。问题是skView,包含两个场景的View,在UIViewController之外无法识别。代码如下。任何帮助将不胜感激。classGameViewController:UIViewController{overridefuncviewDidLoad(){super.viewDidLoad()letskView=viewasSKViewletgameScene=GameScene(size:view

swift - Sprite Kit 从未检测到我的碰撞

当玩家body遇到怪物body时,永远不会调用函数funcdidBeginContact(contact:SKPhysicsContact)。我的类实现SKPhysicsContactDelegateclassGameScene:SKScene,SKPhysicsContactDelegate属性collisionBitMask我评论它是因为我读到如果我们不放置它,节点可以与所有节点碰撞我这样添加播放器:bear.position=CGPoint(x:self.frame.width/20,y:self.frame.height/5)bear.size=CGSize(width:sel

swift - 更改 SKScene 中心点

我正在玩一个简单的2d游戏,我正在尝试从级别1(场景一)切换到级别2(场景二)。为了测试,两个级别包含相同的内容。这是我的转换代码:lettransition=SKTransition.push(with:SKTransitionDirection.left,duration:1)letnextScene=Scene(size:levelBuilder.scene.size)nextScene.scaleMode=.aspectFillnextScene.backgroundColor=UIColor(red:0.17,green:0.24,blue:0.31,alpha:1.0)le