草庐IT

Spritekit

全部标签

ios - 使用 SpriteKit 为 iPhone X 调整屏幕大小

因此,StackOverflow上有数十个问题涉及如何在iPhoneX上正确拟合SpriteKit场景。但是,我找不到任何存在相同差距的问题。我是否可以只为iPhoneX调整屏幕大小?或者我是否必须创建另一个场景,只是为了让iPhoneX适应屏幕?这是我使用.aspectFit得到的结果:我想将该场景延伸到缺口下方和屏幕角曲线所在的上方。我看到很多非常适合的游戏,但还没有找到合适的解决方案。注意:我无法使用aspectFill,因为游戏的某些部分超出了视野。任何链接或答案将不胜感激!编辑resizeFill太大,一切都变大了我已经尝试了所有4个调整屏幕大小的选项,但都没有奏效。有人有建

swift - 在 SpriteKit 中显示 Game Center 排行榜

我正在开发一款游戏,我正在寻找帮助或代码以在用户点击按钮时在我的应用中显示GameCenter排行榜。我不知道从哪里开始,因为所有其他答案似乎都是针对Obj-C的,谢谢!编辑:下面的答案非常有效,但对于那些想知道如何在SpriteKit中执行此操作的人来说,只需将以下方法添加到GameViewController并添加一个NotificationCenterObserverNSNotificationCenter.defaultCenter().addObserver(self,selector:"showLeaderboard",name:"showLeaderboard",obje

swift - 如何在 SpriteKit 接触后跟踪节点移动

我有一个球节点和一个孔节点。我想检测球什么时候会落入货舱。目前我正在使用didBeginContact,但它只给出了接触开始时两个节点的距离,在这种情况下球不一定会落入洞中(当两个中心之间的距离有没有办法在接触发生后跟踪球的位置? 最佳答案 您可以添加不可见的SKSpriteNodes并跟踪球何时接触到它们。在进入洞之前,node1刚好位于洞的顶部(球在进入洞之前必须经过或接触的区域),node2就在球洞之后(同样,球必须在进入球洞后穿过-或接触-的区域)。如果球接触到node1但没有接触到node2,您知道它几乎要进洞了,但后来却

swift - SpriteKit 不显示节点数

在带有SpriteKit的Xcode中,在每个项目中我都将showsNodeCount设置为true,但我只看到fps。这太奇怪了。我不知道是什么导致了这个问题。ifletscene=GameScene(fileNamed:"GameScene"){//Configuretheview.letskView=self.viewas!SKViewskView.showsFPS=trueskView.showsNodeCount=true/*SpriteKitappliesadditionaloptimizationstoimproverenderingperformance*/skView

ios - 为什么在 SpriteKit 中 frame.size 1024x768 在纵向模式下?

当我使用Swift从头开始​​创建SpriteKit游戏时,在我的GameScene的didMoveToView方法中,我写道:print(frame.size.width)print(frame.size.height)我回来了。1024.0768.0我的应用程序当前正在运行的是纵向模式。我认为框架是可以包含节点的最小矩形。如果我在屏幕上添加一个形状来确认我正在阅读的内容,我会添加以下代码:anchorPoint=CGPoint(x:0.5,y:0.5)letleftShape=SKShapeNode(rectOfSize:CGSize(width:frame.size.width/

多次注册 Swift SpriteKit 碰撞

我正在使用SpriteKit和Swift构建iPhone游戏,但我的碰撞检测系统无法正常运行。当我的“子弹”物理体和我的“玩家”物理体发生碰撞时,碰撞检测函数被调用多次,通常是4-12次。我已经尝试将“usesPreciseCollisionDetection”设置为true,但它仍然存在问题。此外,当子弹以一定角度而不是直接击中玩家时,该方法似乎被调用了更多次。有什么想法可以解决这个问题吗?碰撞类型:enumColliderType:UInt32{casePlayer=0b1caseBullet=0b10}玩家物理body设置:playerBody!.categoryBitMask=

swift - SpriteKit 许多来自同一图像的节点 : Load Separately or Duplicate?

我正在用SpriteKit编写一个游戏,并且正在编写一个部分,其中“关卡”是从文本文件中加载的,在文本文件中用“x”标记的每个位置放置一个墙节点。但是,如果我知道会有很多节点,并且它们都是从同一个“wall.png”文件加载的,那么加载一次图像然后在每次需要时复制对象是否更有效,还是每次只加载图像?forlineinlines{forletterinline{ifletter=="x"{letwall=SKSpriteNode(imageNamed:"wall")self.addChild(wall)}else{...}}}对比letwall=SKSpriteNode(imageNam

ios - 碰撞类型源错误 - spritekit swift 游戏

因此,我将我的游戏球类型从形状调整为图像,这迫使我重做游戏的物理特性。我是swift的新手,一直在努力解决我在swift游戏中的碰撞问题。classGameScene:SKScene,GameDelegate,SKPhysicsContactDelegate{varball:Ball!letballSpeedX=CGFloat(500)//ball=Ball(imageNamed:"colorBall.png")enumCollisionTypes:UInt32{caseFloor=1caseBall=2}//boardletboards=Boards.make(CollideType

swift - SpriteKit 动画之间的正确过渡

我有一个空闲播放器动画,我想在一些动画之间进行平滑过渡。空闲动画是默认动画,我希望能够从该过渡切换到另一种状态(比如说战斗),然后再回到空闲状态。空闲角色动画的代码目前是这样的:self.addChild(playerAnimation)playerAnimation.runAction(SKAction.repeatActionForever(SKAction.animateWithTextures(playerAnimationManager.idleManAnimation.textureArray,timePerFrame:0.1)))现在,这计划暂时持续下去,但我需要拦截它并

ios - 使用 swift (SpriteKit) 检测触摸压力(力)

所以,我在Xcode上用Swift玩了这个游戏,我有一个跳跃的SKShapeNode。不过,我希望这种跳跃与玩家的触感相称。因此,小水龙头会跳得小,而轻快的水龙头会跳得更高。怎么可能做到这一点(请注意,我不想要任何3D触摸选项)? 最佳答案 通常,游戏中的这类事情是通过计时按下并相应地改变跳跃高度来完成的。(这也是为什么在2D平台游戏中使用物理对于这类事情来说很棘手)。在像super马里奥这样的游戏中,它的做法是在按下触摸键后立即开始跳跃运动。然后在一段时间后(因为角色“向上”跳跃了一半),您检查触摸是否仍然向下。如果是,你可以让跳