启动vanillaSpriteKit项目时,它会显示使用这些调用的节点数和FPSSKView*skView=(SKView*)self.view;skView.showsFPS=YES;skView.showsNodeCount=YES;但是,我似乎无法为KKView禁用这些,我尝试过:self.kkView.showsFPS=NO;self.kkView.showsNodeCount=NO;self.kkView.showsDrawCount=NO;我仍然在右下角看到蓝色的调试文本。如何禁用KKView的调试文本? 最佳答案 在d
对于我的游戏,我正在尝试从另外两个纹理创建自定义纹理。这是为了在我的Sprite中允许各种颜色等。为此,我通过将两个纹理添加到一起来创建Sprite,然后通过使用将其应用于新的SKTextureSKTexture*texture=[self.viewtextureFromNode:newSprite];整体效果很好,我得到了一个不错的自定义纹理。除了在Retina设备上尝试我的游戏时,纹理在屏幕上的大小正确,但分辨率明显较低。纹理都在那里并且命名正确,所以我认为这不是问题。有没有人遇到过这个,或者知道如何创建正确的@2x纹理? 最佳答案
我创建了一个SKSpriteNode作为场景中的唯一节点。它显示了一只120x75像素的小乌龟在跳舞。乌龟有100个舞格。我可以逐步浏览Finder中的帧并看到完美流畅的运动。现在我在SpriteKit中做了可笑的简单测试。纹理图集上的所有帧。在应用程序启动时,我生成SKTextureAtlas对象,然后将所有SKTexture对象预加载到序列数组中。在每一帧上,我都在海龟节点上调用-next。然后它简单地从数组中获取下一个SKTexture并将其设置为当前纹理。动画不流畅。iPhone5S表示60fps。但我看到随机掉帧发生。我尝试使用PVR进行压缩。然后我尝试没有map集。还尝试调
这是我的设置:SKScene有一个名为world的节点在这个世界上,我附加了另一个节点:车辆我将三个节点附加到这辆车上;一个body和两个轮子轮子通过指定anchor的SKPhysicsJointPin连接到body上现在,一切都很好,直到我缩小我的世界:[_worldrunAction:[SKActionscaleTo:0.5duration:0.75]];我的车突然从车轮上抬起。看起来好像保持了与未放大世界中相同的距离。车辆的所有部分都适当缩放-除了到其部分的距离。我是否也必须对我的关节应用缩放?还是我需要重置关节的anchor?感谢您的帮助! 最佳答案
您将如何为SKScene的背景颜色设置动画?我已经尝试过UIView动画,但毫不奇怪它没有用。在Sprite-Kit中是否有等效的方法?我正在寻找类似这样的东西,但对于Sprite-Kit:[UIViewanimateWithDuration:0.25animations:^{self.backgroundColor=[UIColorredColor];}];目前,作为解决方法,我在SKView上覆盖了一个UIView,但我想要更灵活的东西。我是Sprite-Kit的新手,如果这非常简单,我深表歉意!目前我有:-(id)initWithSize:(CGSize)size{if(self
我在尝试将两个具有物理实体的block放在彼此之上时遇到问题。http://s1173.photobucket.com/user/Kyle_Decot/media/example_zps02f027fe.mp4.html正如您在视频中看到的那样,我能够将我的积木放在堆叠的积木之上,即使它们是彼此叠放的。玩家方block和其他方block都继承自Block基类,如下所示#import"Block.h"@implementationBlock+(void)loadSharedAssets{}-(id)initWithColor:(UIColor*)colorsize:(CGSize)siz
我目前正在制作一个FlappyBird副本。放松,这只是为了我和学习部分,我不会发布它,所以不要讨厌。这只鸟被锁定在:self.size.width/3管道是这样生成的:-(void)generatePipes{for(NSIntegeri=0;i这是我唯一做的事情,是的,我是游戏开发的新手。FirstDistance是第一个管道到达之前的距离:firstDistance+=-moveAmount.x;if(touchBegan>0&&firstDistance>(self.size.width-(self.size.width/3)-60)){distanceSinceLastPip
我想不通。我有一个游戏,玩家必须在浆果从天上掉下来时接住它们。当玩家错过一个时,我希望屏幕闪烁红色并且浆果停止掉落并且游戏暂停3秒然后继续。@interfaceSpriteMyScene:SKScene{SKAction*sceneUnPaused;SKAction*scenePaused;}2种暂停游戏的方法。-(SKAction*)unpaused{sceneUnPaused=[SKActionrunBlock:^{self.scene.view.paused=NO;}];returnsceneUnPaused;}-(SKAction*)paused{scenePaused=[SK
我有一个简单的场景(默认SpriteKit模板):一个ViewController和一个MySceneSpriteKit场景。在我的ViewController中,我在viewDidLoad中管理了gamecenter初始化,但我的场景在启动后立即开始无限快速的Sprite移动(背景视差滚动)。一切正常,但在GameCenter通过身份验证程序之前,我的sprite运动滞后、中断,运行不流畅。我可以通过什么练习来最小化这种情况(保持视差Sprite运动运行)?我正在iPhone4设备(IOS7.03)上测试这个 最佳答案 GameC
当您使用spritekitpreloadTextures函数预加载纹理时,它会立即将提供的数组中的所有纹理加载到内存中。如果您无法在游戏中使用“加载屏幕”拆分关卡,但确实有不同级别的图像文件,那么您如何避免将所有图像一次存储在内存中当spritekit在需要时加载图像时不牺牲帧速率? 最佳答案 您可以创建一个单例类,其中包含用于加载和卸载特定于您当前玩的关卡的资源的方法。例如,如果您有纹理a、b和c需要为级别1加载,纹理x、y和z需要为级别2加载,您可以使用方法-(void)loadLevelOneTextures;和-(void)