草庐IT

ios - Sprite Kit animateWithTextures 滞后

我在我的SpriteKit游戏中使用纹理图集。我正在创建SKTextureAtlas对象并将其纹理存储在每个动画的数组中。因此,当我的英雄需要一些动画时,我调用animateWithTextures将相应的数组发送给它。当我开始动画时有一些滞后。有什么方法可以顺利启动动画吗? 最佳答案 我相信几乎没有办法解决这个问题。您需要做的是在您的游戏实际开始之前预加载map集。只需在游戏开始时显示加载屏幕并预加载您的map集。你可以试试+preloadTextureAtlases:withCompletionHandler:[SKTextur

ios - Cocos2D 防止 Sprite 离开屏幕?

是否可以防止我的CCSprite离开屏幕?我已经允许它在左侧和右侧离开屏幕,所以这很好,但我只想阻止它在顶部和底部离开屏幕。到目前为止,我所做的只是让Sprite卡在顶部或底部。我不希望这影响Sprite的移动,我只想让CCSprite在到达顶部或底部时停止。谁能告诉我怎么做?谢谢!编辑:CGSizesize=[[CCDirectorsharedDirector]winSize];if((sprite.y=0)){//Setnewposition}else{//spriteiscollidingwithtop/bottomlimits,dowhateveryoulike,forexam

ios - 多次碰撞的 Sprite Kit 碰撞

我已经查看并找到了单个碰撞的答案,但我正在寻找一种方法来检测不止一种类型的碰撞。我正在制作一个游戏,其中有3次我想要的碰撞。用户飞机与敌人的子弹相撞,用户的子弹与敌机相撞(我已经在工作),以及敌人的子弹和用户的子弹相撞。我已设置并更正所有categoryBitMask和contactTestBitMask。这是我的委托(delegate)方法。-(void)didBeginContact:(SKPhysicsContact*)contact{SKPhysicsBody*firstBody,*secondBody;if(contact.bodyA.categoryBitMask

iOS 7 Sprite Kit 动画速度变化

我有一个runAction,它正在为SKSpriteNode设置动画。我让节点在repeatActionForever中上下移动。我希望节点在节点向上移动时减速,在节点向下移动时加速。[noderunAction:[SKActionrepeatActionForever:[SKActionsequence:@[[SKActionspeedTo:0.1duration:0.5],[SKActionmoveToY:2*node.size.height/3duration:0.5],[SKActionspeedTo:1duration:0.5],[SKActionmoveToY:node.s

ios - 在 sprite kit 游戏中使用相同的代码创建关卡

我正在制作Sprite套件游戏,我是iOS开发的初学者。在我的游戏中,我使用1个SKScene作为1个关卡。每个级别都会比上一个级别增加难度。通过制作多个SKScenes,我注意到我必须一次又一次地重复使用之前关卡的代码并进行微小的更改以提高难度。除了创建多个场景并一次又一次地复制相同的代码之外,没有更好的方法来做到这一点吗?有没有办法重用重复的代码?如果我想创建很多关卡,这会变得很麻烦,而且似乎反射(reflect)了一个糟糕的设计。 最佳答案 因此出现了面向对象编程的理论,在您的情况下特别是继承。当我们必须一遍又一遍地重用代码时

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