草庐IT

ios - 在 SKScene/Sprite Kit 中关闭同时触摸

我目前正在开发一款游戏,用户一次只能用一根手指触摸。我正在使用SKScene并尝试寻找禁用多点触控功能的方法,但没有找到任何结果。我正在考虑在调用touchesBegan()和touchesEnded()之间的所有触摸时手动调用“return”,但该方法也有缺陷(SpriteKitSKScenemissingtouchesEnded)。所以我的问题是:如何在SKScene中一次只允许触摸一次? 最佳答案 SKView继承自UIView,所以,在didMoveToView中添加:self.view.multipleTouchEnabl

iphone - Cocos2d 检测特定 Sprite 上的触摸

我有这个sprite,我试图检测用户是否触摸它并发布NSLOG。我在stackoverflow上阅读了一些关于检测Sprite触摸的cocos2d帖子,但我有点困惑,不太明白。任何帮助将不胜感激。我将在下面发布我的Sprite图。chew=[CCSpritespriteWithFile:@"chew.png"rect:CGRectMake(0,0,152,152)];chew.position=ccp(100,300);[selfaddChild:chew];想通了-(void)ccTouchesBegan:(NSSet*)toucheswithEvent:(UIEvent*)even

ios - 为什么这个 SKPhysicsJointPin 不能将这两个 Sprite 放在一起?

我显然不太了解SKPhysicsJoint,但网上的信息还很少,当然除了Apple文档之外。下面的代码有什么问题,我认为它应该使头部和颈部永久连接在一起——我的意图是它们就像两张带别针的纸,这样它们就可以稍微旋转一下,而不是完全分开.当我运行这段代码时,它们掉到它们所在的SKScene的底部,撞到地面,然后头从body上掉下来。也许关节没有随着它们移动或其他什么,它只是在它们移动时保持原位??self.head=[SKSpriteNodespriteNodeWithImageNamed:@"head.png"];self.head.physicsBody=[SKPhysicsBodyb

ios - Sprite Kit 纹理表现有趣

好吧,这个让我对着墙尖叫......所以请耐心等待。我开始使用Xcode中的SpriteKit模板编写一个简单的游戏。我将两个PNG添加到名为Stage01.atlas的文件夹中,并将其拖到项目中。不记得我是否选择了哪个选项,因为它在项目导航器中显示为蓝色文件夹图标(可能是因为它有扩展名?)。接下来,我使用实例化了几个Sprite[[SKSpriteNodealloc]initWithImageNamed:@"My_Image_Name_Without_The_@2x_Or_Extension"];起初,它没有用,因为我忘记在build设置中启用纹理图集。然后,它就像一个魅力,但是..

ios - Sprite Kit,移除 Sprite 进行碰撞

我正在用spritekit制作游戏,我对iOS编程还很陌生,我一直在努力获取它,所以当2个图像发生碰撞时,一个被删除或变得不可见。我对此非常不成功,想知道是否有人知道该怎么做?下面是船(它始终停留)和要删除的对象之一。-(void)addShip{//initalizingspaceshipnodeship=[SKSpriteNodespriteNodeWithImageNamed:@"Spaceship"];[shipsetScale:0.5];ship.zRotation=-M_PI/2;//AddingSpriteKitphysicsBodyforcollisiondetecti

ios - Sprite Kit - 检测接触

我有两个Sprite节点:-(void)createPlayer{SKSpriteNode*player=[SKSpriteNodenode];player.physicsBody=[SKPhysicsBodybodyWithRectangleOfSize:enemy.size];player.physicsBody.categoryBitMask=playerCategory;player.physicsBody.contactTestBitMask=enemyCategory;player.position=CGPointMake(100,160);player.name=@"pl

ios - 仅在带 Retina 的 iPad Air 和 iPad mini 上运行 Action /加载 Assets 时 Sprite Kit 崩溃

我收到来自Retinamini和iPadAir设备而非iPhone5S的崩溃报告。它发生在SpriteKit中,当有人点击一个sprite,然后另一个sprite出现在屏幕上时。我无法在非A7设备上重现此问题,所以想知道是否有人可以查看下面的崩溃日志并告诉我崩溃可能是由什么引起的?ExceptionType:SIGSEGVExceptionCodes:SEGV_ACCERRat0xb000000cCrashedThread:0Thread0Crashed:0libobjc.A.dylib0x39b30b66objc_msgSend+51CoreUI0x3349bd0d-[CUIStru

ios - 在 SpriteKit 中设置 Sprite 的角度

如何将Sprite的角度设置为45度?SKAction*rotate=[SKActionrotateByAngle:M_PI/4.0duration:1];仅将角度增加45度,我想做的是必须SKSprite旋转到45度然后停止。有没有办法解决这个问题,还是我必须对其进行硬编码?谢谢! 最佳答案 您正在寻找的方法是+rotateToAngle:duration:shortestUnitArc:,如:SKAction*rotate=[SKActionrotateToAngle:M_PI_4duration:1shortestUnitAr

iOS 7.1 Sprite Kit AVAudioSession 进入后台时崩溃

所以2周前,我向应用商店提交了一个spritekit应用,一切正常。在我提交应用程序之前,我遇到了一些问题,因为AvAudioSession,它会崩溃,但是我能够通过这个SpriteKit&playingsoundleadstoapptermination解决这个问题。.这基本上将AVAudioSession设置为在进入后台时处于非事件状态,然后在进入前台时再次激活。我最近将我的手机更新为iOS7.1,此修复程序似乎在新的7.1中不起作用,并且我的应用程序在进入后台时再次崩溃。我已经从我的应用程序中取出所有音频,它似乎工作正常,所以它与我之前遇到的问题相同,但解决方案不起作用!我真的需

ios - 在设备而不是模拟器上运行 sprite-kit 项目时将每秒帧数设置为 30

我刚刚完成我最新的iPhone应用程序,但在我的iPad上进行测试时遇到了问题。模拟器上的默认每秒帧数是30,但在我的设备上大约是54到60。这对我来说是一个主要问题,因为我的游戏是一个无限奔跑者,并且以我测试过的两倍fps的速度移动会使背景和敌人飞起来太快了。我不能减慢它们的速度,所以我想知道是否可以将fps限制为30。 最佳答案 使用SKViewClass的frameInterval.根据文档:Thedefaultvalueis1,whichresultsinyourgamebeingnotifiedattherefreshra