草庐IT

spriteKit

全部标签

ios - SpriteKit - SKCameraNode 视差效果?

我一直在试验SKCameraNode,但我找不到任何关于用它创建视差效果的信息。假设我在上面的代码中添加了一个behindNode在我的baseNode下面。然后我为相机设置动画。letbehindNode=SKNode()addChild(behindNode)letblueSquare=SKSpriteNode(color:SKColor.blueColor(),size:CGSize(width:80,height:80))blueSquare.position=CGPoint(x:size.width/2+40,y:size.height/2+40)behindNode.add

ios - spritekit 中的多个 NSTimer 未按预期工作

目标:我有粒子从屏幕顶部掉落,我希望它们在分数达到一定值时提高速度。上一次失败的尝试:我首先让那些下落的粒子受到重力的影响,并尝试在分数达到一定值时增加重力值。但是它似乎没有用,所以我假设在游戏过程中不能改变重力。现状:经过一些研究,我想到了使用两个全局NSTimer,slowTimer和fastTimer。slowTimer在didMoveToView中调用。在touchesBegan中,每次点击时,我都会调用一个函数changeSpeed,它是这样的:funcchangeSpeed(){ifscore>=2{slowTimer.invalidate()makeWallsDivide

ios - 在 Swift SpriteKit 项目中播放声音?

当我运行这段代码时。runAction(SKAction.playSoundFileNamed("Click.mp3",waitForCompletion:false))我的应用崩溃了:Terminatingappduetouncaughtexception'NSInvalidArgumentException',reason:'ResourceClick.mp3cannotbefoundinthemainbundle' 最佳答案 验证该文件是否存在于项目中。先实例化文件中的变量,再做繁殖的方法。如果项目中存在该文件,您应该执行以下

sprite-kit - 我如何在 Swift 和 SpriteKit 中使用 whiteColor

我正在运行Yosemite和Xcode6。我使用“游戏”选项、SpriteKit和Swift创建了一个新项目。在GameScene.swift的didMoveToView()覆盖中,我添加了以下行以尝试更改背景色:self.backgroundColor=SKColor(whiteColor)这会编译但不会运行,并因错误“使用未解析的标识符‘whiteColor’”而停止唯一的导入是:importSpriteKit我是否需要另一个导入来定义whiteColor(我假设它是某处头文件中的常量? 最佳答案 +[SKColorwhiteC

ios - 将对象保持在屏幕内。 swift SpriteKit

我是swiftSprite套件的新手。在应用程序中,我试图让我有一艘潜艇在海洋中移动。每次用户点击屏幕时,重力就会开始将潜艇拉向相反的方向。我的问题是我找不到防止潜艇离开屏幕的方法。我试图通过在屏幕周围制作一个physicsBody来解决它,但潜艇仍然离开了屏幕。我还在updateCurrentTime基金中尝试了以下代码。overridefuncupdate(currentTime:CFTimeInterval){/*Calledbeforeeachframeisrendered*/self.physicsWorld.gravity=CGVectorMake(0,gravity)if

ios - SpriteKit 背景 PNG,Alpha 显示黑色

我有一个用Swift制作的Spritekit游戏,当游戏结束时,我有一个背景,它是一个png文件,其alpha值为0.5ish(所以它透视)。我是用Photoshop制作的。我用它来淡化游戏细节并将记分卡放在它的顶部。当我在运行iOS9.2的iPhone6上使用它时,它运行良好,使细节变暗并显示记分卡...但是当我在运行iOS9.2的模拟器或运行iOS8.4的iPhone5C上运行它时,它只是出现黑色...覆盖整个游戏屏幕...声明如下://alpha'sdpngcreatedinphotoshop.approx.0.3alphaletbackdrop=SKSpriteNode(ima

ios - Swift SpriteKit 委托(delegate)模式

最近我一直在尝试学习如何使用委托(delegate),实际上我似乎已经理解了大部分内容。但是我有一个问题。我有1个GameViewController、1个StartScene和1个MenuScene在我的GameViewController中,我有2个方法可以从MenuScene调用。到目前为止,我一直在使用NSNotification,它工作正常,但我正在尝试使用委托(delegate)。所以我在MenuScene中设置了一个协议(protocol)protocolMenuSceneDelegate{funcgameOver()funcshowGameCenter()}我是这样引用

swift - SpriteKit 场景转换良好实践

我正在使用SpriteKit和Swift编写游戏,遇到了内存问题。我的游戏布局是这样的,即GameViewController(UIViewController)在vi​​ewDidLoad屏幕中呈现第一个SKScene(levelChooserScene)。这个场景只是显示一堆按钮。当用户选择一个按钮时,场景然后使用skView.presentScene转换到正确的场景,当关卡完成时,该场景然后转换回levelChooserScene并且游戏准备好供用户选择下一个级别。问题是当转换回levelChooserScene时,分配给游戏场景的内存没有被释放,所以在只选择了几个级别后我开始收

ios - 逐渐提高 SpriteKit 中滚动背景的速度

我正在用SpriteKit制作一个简单的游戏,我有一个滚动背景。简单的情况是,当游戏场景加载时,几张背景图像彼此相邻放置,然后当图像滚出屏幕时,图像水平移动。这是来self的游戏场景的didMoveToView方法的代码。//self.gameSpeedis1.0andgraduallyincreasesduringthegameletbackgroundTexture=SKTexture(imageNamed:"Background")varmoveBackground=SKAction.moveByX(-self.frame.size.width,y:0,duration:(20/

ios - Swift SpriteKit edgeLoopF​​romRect 问题

以下代码识别场景的底部和顶部边缘,并且球按预期反弹。然而,场景的左边缘和右边缘总是被破坏。如果施加足够的力,球会离开屏幕然后最终返回。就好像场景的边缘超出了iphone模拟器窗口的边缘。importSpriteKitclassGameScene:SKScene{overridefuncdidMoveToView(view:SKView){self.physicsBody=SKPhysicsBody(edgeLoopFromRect:self.frame)backgroundColor=UIColor.cyanColor()varball=SKSpriteNode(imageNamed: