草庐IT

Sprite-Kit

全部标签

ios - 一旦有完整的行,如何删除 SKSpriteNode? (像俄罗斯方 block )

我正在开发一款类似于俄罗斯方block的游戏,因为有掉落的障碍物落在地上并堆积起来。我试图找出一种方法,一旦它已满,就从底行中删除所有SKSpriteNodes。本质上,我需要删除低于Y值的所有节点,但仅当有5个(连续5个)低于该Y值时。感谢任何帮助!谢谢!这是一些代码:funccreateWall(){letwall=SKSpriteNode()letrandom=(arc4random_uniform(5)+1)wall.position=CGPointMake(self.frame.width/10*(2*(CGFloat(random))-1),self.frame.heigh

ios - 如何从 AppDelegate 呈现场景?

是否可以从AppDelegate呈现场景?我的AppDelegate实现了来自广告网络库的委托(delegate)函数,我需要在调用它时呈现一个场景。我试过用lettransition=SKTransition.fadeWithDuration(2.0)letnextScene=SceneCoordinator.shared.gameScenenextScene!.scaleMode=.AspectFillGameOverScene().scene!.view?.presentScene(nextScene!,transition:transition)但由于某种原因没有任何反应

ios - cocos2d 动画不显示 Sprite 表

我的游戏出现了一些奇怪的错误。谁能帮我解决这个问题。我有一个运行游戏,英雄在运行时收集硬币,当英雄触摸硬币时,现在我正在展示在粒子制造商的帮助下创建的粒子效果。它工作正常。但是最后一天我购买了一个软件,它为我们提供了非常好的粒子效果,但它只能导出为pngs。所以我制作了Sprite表,而不是以前的粒子动画,我把它放在接触监听器代码上,以便在英雄触摸硬币时显示这种效果。不幸的是它没有显示任何东西。这是我以前的代码:-(void)checkHeroAndCoins{floatfDelta=0;if(m_hero->m_bMagnet)fDelta=iDevPixelX(30);for(Co

ios - 使用单个 SKShapeNode 渲染多个重叠的多边形?

我发现可以使用单个SKShapeNode对象渲染多个多边形:classGameScene:SKScene{overridefuncdidMove(toview:SKView){letpolygons=[[CGPoint(x:0,y:0),CGPoint(x:100,y:100),CGPoint(x:100,y:0)],[CGPoint(x:50,y:50),CGPoint(x:50,y:150),CGPoint(x:150,y:150),CGPoint(x:150,y:50),],]letpath=CGMutablePath()forpointsinpolygons{path.addL

ios - 如何将单个 tileset 图像导入 xCode(Sprite Kit)?

图block集示例:http://www.rpg-studio.org/wiki/images/9/92/Tileset.png如何在Xcode中将这些图像导入到这个网格中?https://koenig-media.raywenderlich.com/uploads/2016/06/AdjacencyTileGrid.png问题是Xcode不理解父图像中有很多子图像。我已经看过很多使用平铺map编辑器的例子,但它有自己的格式,你不能在Xcode的可视化编辑器中设计这样的关卡。所以它们不适合我。我还看到人们总是避免使用tilesets-他们在某个地方得到了很多单独的图像,并且没有描述如何

ios - 如何跟踪 Sprite Kit 中的动画

我需要跟踪带有纹理的动画。我正在为电源条设置动画,当用户单击屏幕时它应该停止并节省电量。我不知道如何省电。到目前为止我有这个:第一次触摸电源条动画,但在第二次触摸时它只停止但不节省电量。这是我创建动画的方式:textureAtlas=SKTextureAtlas(named:"images")foriin1...textureAtlas.textureNames.count{letname="\(i).png"textureArray.append(SKTexture(imageNamed:name))}letanimateForward=SKAction.animate(with:t

ios - 来自 SKEmitterNode 的动画粒子

目标是为来自SKEmitterNode的粒子设置动画,但以下代码不起作用。粒子不会改变纹理。它们仅在生命周期内显示第一个纹理——或者更具体地说是Xcode粒子编辑器中使用的原始图像。粒子生命周期长于帧持续时间,因此这不是问题。//CreateanimationtexturesletanimationAtlas=SKTextureAtlas(named:atlasFilename)varanimationFrames=[SKTexture]()//SetnumberofanimationframesletnumImages=animationAtlas.textureNames.coun

ios - 指数收缩 SKNode

在我使用SpriteKit开发的游戏中,我希望某些对象出现并缩小。我已经知道如何缩小它们,我正在使用以下代码实现这一点:myNode.run(SKAction.scale(to:0,duration:3))但是,缩小是“线性”发生的。有没有办法让它以指数方式更快地缩小?或者至少它开始缓慢并且在最后一秒以两倍的速度收缩? 最佳答案 抱歉,我没有编译器,无法对此进行测试。这不是最好的方法,但我试了一下:funcdelay(_delay:Double,closure:@escaping()->()){letwhen=DispatchTim

iOS模拟器测试多人游戏

我正在使用iOSSpriteKit和Socket.io创建一个简单的多人游戏,在多个模拟器(或实际iOS设备)上构建和测试它并能够查看日志的优雅方式是什么?我看到一些像这样的帖子Xcode6:Runtwoinstancesofthesimulator你可以运行两个模拟器,但我必须在一个模拟器上运行它,停止它并启动第二个。这样一来,它使测试变得复杂,而且我无法看到第一个模拟器的日志。有没有更好的解决方案? 最佳答案 最好的使用方法是将它安装在一台(或多台)设备上,让它们运行而不必立即查看日志。然后您可以直接从Xcode运行模拟器或设备

ios - AdMob Ios 导致帧率下降

一段时间以来,我一直遇到游戏延迟的奇怪问题,我终于找到了罪魁祸首。AdMob。在使用和不使用admob对我的应用程序进行一些基本测试后,我意识到Admob每加载10次左右就会导致10+fps下降一次。这是我的AdMob代码。funcinitializeBanner(){//Createabanneradandaddittotheviewhierarchy.bannerView.adUnitID="ca-app-pub-8237297232584070/6035957145"bannerView.rootViewController=viewControllerbannerView.fr