草庐IT

Sprite-kit

全部标签

Swift:SpriteKit 没有以正确的大小渲染 Sprite

编辑3:嗯,我已经解决了这个问题。似乎在iOS8中,您现在可以从scene.sks文件加载场景。所以在这种情况下,游戏正在加载一个分辨率为1024x768的.sks文件。这就是图像未正确显示的原因。将ViewController更改为在iOS8之前工作(这里有解释:SwiftandSpritekitwon'trunondevicerunningiOS7.1)似乎可以解决问题。感谢所有试图帮助我的人。:D我正在使用最新的Xcodebeta在SpriteKit和Swift中创建游戏(好吧,我正在移植我已经在Obj-C中制作的游戏)。我有一个问题,那就是SpriteKit似乎没有正确渲染我的

Qt创建控制台程序选择构建套件问题“No suitable kits found”

一,问题现象QT选择构建套件时出现问题:二,问题原因“Nosuitablekitsfound”=没有找到合适的kits套件,在安装QtCreator时没有安装MinGW,所以只需要进行安装即可。三,解决方法3.1选择安装目录下的“MaintenanceTool.exe”,双击计入组件安装界面。3.2点击“下一步”3.3选择“添加或移除组件”:3.4根据自己安装的版本选择MinGW组件,点击下一步,如下图所示:3.5等待安装完成即可。3.6再次打开时,就可以选择刚才安装的MinGW四,总结本文主要介绍如何解决“Nosuitablekitsfound”问题,以及如何安装和卸载相应的组件。供参考,欢

swift - Swift 中 SKLabel 节点的指定初始值设定项是什么

我想知道在带有SpriteKit的Swift编程语言中,SKLabelNode的指定初始化器是什么? 最佳答案 init(fontNamed:)是指定的初始值设定项。便利初始化器有convenience关键字。 关于swift-Swift中SKLabel节点的指定初始值设定项是什么,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/28954743/

ios - 检测 Sprite 的蒙面部分(与隐藏部分相对)的触摸,swift,spritekit

将触摸检测限制在图像Sprite的mask区域的正确方法是什么?下面的代码(理论上)是我希望它如何工作的。它是一个巨大的彩色方block,上面覆盖着宇宙飞船的形状。当用户触摸时,我只希望被遮盖的部分响应触摸。在下面的代码中,事件被忽略(可能是因为cropNode.maskNode是一个属性,而不是一个子节点)。我尝试过其他方法,但都没有将触摸限制在蒙版区域。问题是..这应该如何完成?overridefuncdidMoveToView(view:SKView){letcropNode=SKCropNode();letmostlyHiddenSprite=SKSpriteNode(colo

ios - 保持 iAds 横向 SpriteKit/Swift

在我的游戏中,所有场景都是横向的。我将iAd横幅实现为在屏幕底部处于横向模式。但是,当我单击它并加载时,它会将其方向更改为纵向。当我退出广告时,游戏恢复正常。是否可以在加载时将广告保持在横向模式?下面是我用于创建iAd的代码。importUIKitimportSpriteKitimportiAdclassGameViewController:UIViewController,ADBannerViewDelegate{varSH=UIScreen.mainScreen().bounds.heightlettransition=SKTransition.fadeWithDuration(1

ios - 如何在 Sprite Kit 场景外时删除节点

我试图在离开场景时删除节点,我尝试了这种方法来做到这一点if(CGRectIntersectsRect(node.frame,view.frame)){//Don'tdeleteyournode}else{//Deleteyournodeasitisnotinyourview}但它似乎不起作用任何帮助将不胜感激 最佳答案 从性能的角度来看,这不是最好的方法,但如果您在场景中重写update方法,您将能够编写每帧执行的代码。classGameScene:SKScene{vararrow:SKSpriteNode?overridefun

swift - SKSpriteNode 图像不显示

呈现View时,我希望在我的images.xcassets中显示名为“Player”(设置)的图像。目前场景只是加载蓝色。不知道为什么,因为即使添加颜色来更改图像颜色也没有任何作用。importSpriteKitclassCharacterScene:SKScene{varCircle=SKSpriteNode(imageNamed:"Player")overridefuncdidMoveToView(view:SKView){backgroundColor=SKColor.blackColor()Circle.size=CGSize(width:40,height:40)Circle

swift - SKEmitterNode iOS 8 vs iOS 9 如何获得相同的结果?

我有一款类似于水果忍者的游戏,使用Swift->SpriteKit。在iOS8上一切正常,但在iOS9上SKEmitterNode有一点奇怪的行为。这是我对两者的Blade效应所得到的:funcemitterNodeWithColor(color:UIColor)->SKEmitterNode{letemitterNode:SKEmitterNode=SKEmitterNode()emitterNode.particleTexture=SKTexture(imageNamed:"spark.png")emitterNode.particleBirthRate=3000emitterNo

ios - 游戏在转到 gameOver Viewcontroller 后重新启动

我的spritekit游戏有问题,它在我使用后立即重新启动一个模型segue到我的gameoverviewcontroller。每次重新启动游戏后,fps也会除以2。所以我实际上需要一种在使用segue后删除游戏的方法。我试过self.dismissViewControllerAnimated(true,completion:nil)但我真的不知道我应该放在哪里。我的Storyboard中有3个ViewController,第一个使用带有模态转场的按钮到第二个我玩游戏场景的按钮。overridefuncviewWillLayoutSubviews(){super.viewWillLay

ios - 在 Swift 中使用更新函数的更清洁(更好)替代方法

简而言之:有没有比将所有函数都放在更新函数中更能减少“延迟”和内存滥用的长时间运行大型函数的更好方法?完整问题我目前正处于使用iOSSwift和SpriteKit开发我的第一个游戏应用程序的最后阶段。我遇到的更大问题之一是滞后/延迟。TimeProfilerInstrument指出我的overridefuncupdate使用了大量内存和时间。我的更新功能包括以下内容:overridefuncupdate(currentTime:CFTimeInterval){ifhasStarted{//CharacterupdateCharacterPosition()updateJumpMotio