草庐IT

ios - Sprite Kit中如何实现鼠标关节?

我已经在Cocos2d+Box2dforiOS中实现了拖放功能。我需要将它移植到SpriteKit。逻辑非常基本:当用户触摸屏幕时,找到手指下的Sprite在找到的Sprite和场景的物理体之间创建鼠标关节,将关节的目标设置为触摸位置当触摸移动时,将关节的目标更新到新位置当触摸结束时,移除关节一切正常。我喜欢触摸结束时模拟物理的方式-拖动形状的速度取决于拖动速度和方向,所以当我在移动Sprite时将手指从屏幕上移开时,它会继续沿相同方向移动,但现在受重力和阻尼。不幸的是,我无法使用SpriteKit重现相同的效果。没有像鼠标关节这样的关节,但我尝试过使用其他关节类型。我几乎成功使用SK

ios - Game Center 与 Sprite Kit 的集成?

如何将GameCenter或GameKitFramework与SpriteKitXcode模板一起使用?在Spritekit中,它使用Scenes;但通常要查看排行榜,例如您需要“presentModalViewController”,但这在SKView中是不可能的。以及如何在iOS6中对播放器和所有其他有趣的东西进行身份验证。提前致谢! 最佳答案 您可以通过使用此代码访问RootViewController来使用“presentModalViewController”UIViewController*vc=self.view.wi

ios - 使用 sprite 套件创建 2d 波纹效果

如何使用spritekit在水面上创建2D波纹效果。就像我有一个场景,其中包括2D仍然是水,当点击它时,小圆圈会按比例显示并消失,比如5-6圆圈平行缩放给人一种涟漪的感觉实际上并没有对水做任何事情只是在它上面创建图像。我想知道解决这个问题的最佳方法是什么。我怎样才能实现这样的目标。有什么想法吗? 最佳答案 在你希望创建波纹的节点中,做这样的事情NSTimeIntervalsingleRippleDuration=1.0f;CGFloatripleEndScale=3.0f;NSTimeIntervaltimeBetweenRippl

ios - 在 Sprite Kit 场景中隐藏 iAd

我已使用以下代码将iAds添加到我的SpriteKit游戏中:在viewController.h文件中@property(strong,nonatomic)IBOutletADBannerView*adBannerView;在viewController.m文件中-(void)viewWillLayoutSubviews{[superviewWillLayoutSubviews];//Configuretheview.SKView*skView=(SKView*)self.view;if(!skView.scene){//Createandconfigurethescene.SKSce

ios - Sprite Kit 使用 16x16 tiles 与 32x32 tiles 渲染性能?

我制作了一个Tiled游戏。现在,我正在通过增加场景中的节点数量来对手机的功能进行压力测试。有基于物理的东西,AI运动,日夜系统,粒子在这里和那里突然出现以及我的场景的引擎盖下发生的许多其他事情。我想知道的是,使用我现在拥有的16x16磁贴与使用32x32磁贴有性能差异吗?这些图block基本上只是添加到场景中的图像;他们没有任何物理机构或任何其他类似的东西。它们确实具有我在Tiled中制作map时为其设置的属性,但我认为这不会对性能产生任何影响。每张map都有几层(背景、植被、重生点、建筑物,有时还有几层)。下面是一个代码片段,说明如何为1个这样的图层呈现图block:if([map

ios - SKSpriteNode的 Sprite 只有在iPhone 7 Plus真机上模糊

我正在使用SpriteKit和最新的Xcode制作游戏应用程序。我想以像素完美显示单色Sprite。我尝试了以下代码。letsprite=SKSpriteNode(color:SKColor.gray,size:CGSize(width:16,height:16))sprite.anchorPoint=CGPoint(x:0,y:0)sprite.position=CGPoint(x:100,y:100)sprite.texture?.filteringMode=.nearestaddChild(sprite)在大多数情况下,它的显示效果非常理想。(具体为iPhone6s、iPodto

ipad - 在 iPad 上绘制 2D Sprite 的 GL_BLEND 问题

当我们使用带有glEnable(GL_BLEND)的opengl2.0在iPad上绘制300个Sprite时(我们需要它,因为Sprite需要透明度和alpha混合),我们得到大约40的帧率。但是当我们禁用混合时,我们得到一个帧率60.现在(alpha)混合真的那么昂贵还是我们做错了什么?谢谢你的时间,理查德。 最佳答案 Alpha混合确实是那么昂贵。问题是您可以通过使用Z-Buffering解决很多overdraw问题(PowerVR非常擅长)。它可以通过不写入Z缓冲区和绘图缓冲区来节省大量内存带宽。当您开始alpha混合时,您需

iOS7 Sprite Kit 我可以存档整个场景并将其用作保存游戏吗?

我正在查看SKNode的userData属性并注意到以下语句:SpriteKitdoesnotdoanythingwiththedatastoredinthenode.However,thedataisarchivedwhenthenodeisarchived.这让我开始思考-是否可以通过存档场景及其所有依赖项/Controller来实现单个保存游戏功能?我正在尝试了解是否有一些神奇的[archive]消息可以发送到场景或场景View,从而无需编写自定义数据结构来存储游戏存档。 最佳答案 检查this出去。来自SpriteKit编程

ios - Sprite Kit - 改变场景时继续播放音频

我使用这段代码来循环播放音频文件://***Inyourinterface...***#import...AVAudioPlayer*testAudioPlayer;//***Implementation...***//LoadtheaudiodataNSString*soundFilePath=[[NSBundlemainBundle]pathForResource:@"sample_name"ofType:@"wav"];NSData*sampleData=[[NSDataalloc]initWithContentsOfFile:soundFilePath];NSError*aud

ios - 如何使用 Xcode Sprite Kit 场景编辑器将实体添加到 Sprite Kit 场景?

根据实体和组件的SpriteKit文档Whenyouaddentities(andtheircomponents)toasceneintheXcodeSpriteKitSceneEditor,XcodeautomaticallyarchivethoseentitiesalongsidetheSpriteKitscenecontent.这意味着您可以使用场景编辑器添加实体,但我找不到任何方法来做到这一点。我可以使用节点组件检查器添加组件,但不能添加实体。这是怎么做到的? 最佳答案 您的实体不会添加到SpriteKit场景中-它们会添加