在xcode中选择sks文件时,没有粒子效果的预览。我尝试创建一个全新的项目。我可以在应用程序中集成粒子发射器,但无法在编辑器中预览效果。 最佳答案 当这不起作用时,一种情况是Mac在VMware上运行,并且没有针对该问题的修复。这发生在我的案例中。同样的东西在我的物理MacBookPro上运行正常,我到处都可以看到粒子,甚至可能在我的屏幕之外:) 关于ios-Xcode5:CannotpreviewSpriteKitparticleemitterinxcode,我们在StackOver
我正在尝试像这样使用SpriteKit创建传送带效果我的第一个react是创建一个比屏幕大的传送带图像,然后用Action永远重复移动它。但这似乎不太好,因为它取决于屏幕尺寸。有没有更好的方法来做到这一点?同样显然我想把东西(它们会独立移动)放在传送带上所以节点是一个SKNode带有正在移动的子Sprite节点。更新:我希望传送带“视觉”移动;所以线条在一个方向上移动,给人以运动的印象。 最佳答案 将physicsBody应用于所有需要在传送带上移动的Sprite,并将affectedByGravity属性设置为NO。在这个例子中,
我正在尝试生成一个我在随机坐标处创建的节点。到目前为止,我已经通过执行以下操作进行了尝试:-(SKShapeNode*)createTargetNode{intmaxXCoord=CGRectGetMaxX(self.frame);intmaxYCoord=CGRectGetMaxY(self.frame);intx=arc4random()%maxXCoord+40;inty=arc4random()%maxYCoord+40;SKShapeNode*target=[SKShapeNodenew];CGMutablePathRefcircle=CGPathCreateMutable(
我正在尝试使用sprite工具包制作命运之轮风格的游戏。但是我卡住了。好的,我有两个SKSpriteNode(带有物理体)。旋转得很好的轮子和“挡板”(也就是使奖轮减速并指示您赢得了什么奖品的东西。挡板不断向上推,而不是旋转并减慢轮子的速度。我的问题是:A)如何防止“挡板”向上移动,而不是在顶部保持静止并使轮子减速。B)如何使“挡板弯曲而不是简单地被插入”。C)为什么轮子不会旋转不止一次?(注意:我尝试添加[wheelremoveAllActions];在每次touchesBegan之前:代码:-(id)initWithSize:(CGSize)size{if(self=[superi
我正在尝试为iOS开发一款涉及布娃娃类实体的基本游戏。基本上(如下所示),我有一个头、一个body和一个右臂(这三个都是基本的sprite节点)通过针关节连接,模拟人体中的关节(大致)。头部和body完美配合,当施加力时,body围绕头部完美旋转,最终在头部下方垂直静止(见图)。ARM的底部用一个销接头固定在body上,应该围绕其底部旋转(有点像肩膀),并且它的初始旋转设置为45度,所以它看起来像物理之前的ARM引擎接管。我的问题是:为什么ARM不会因重力而停留在垂直位置(就像body一样)?难道重力不应该导致ARM围绕其底部旋转,直到ARM尖端直接位于ARM顶部(肩部)下方吗?此外,
我目前正在为iOS开发平台游戏,并决定使用SpriteKit。我已经通过了thisplatforminggametutorial,但我想使用内置的物理引擎而不是自己制作。我在网上搜索了好几天都没有找到关于如何使用SpriteKit创建具有跳跃和移动的平台游戏的好教程,所以我决定在这里问问。我也尝试过许多不同的实现,但它们都“感觉”不对。要么是运动、跳跃有问题,要么最常见的是两者都有。那么让Sprite在屏幕上移动和跳跃的最佳方式是什么?在经典的平台游戏风格中,我希望“相机”在沿x轴移动时跟随Sprite。最好的方法是更改Sprite的x值,然后立即将背景置于Sprite的中心吗?还
我目前在SpriteKit和SKTexture预加载方面遇到奇怪的间歇性问题。我有多个图像数组,我按以下格式预加载:-(NSDictionary*)loadTexturesWithNames:(NSArray*)aNames{NSMutableDictionary*dict=[NSMutableDictionarydictionary];NSMutableArray*textureArray=[NSMutableArrayarray];for(NSString*textureNameinaNames){SKTexture*texture=[SKTexturetextureWithIma
我正在努力实现以下目标:一名球员因重力坠落self.physicsWorld.gravity=CGVectorMake(0,-4.0);当用户触摸屏幕时,播放器应该上升-(void)update:(CFTimeInterval)currentTime{if(self.isAscending){CGVectorrelativeVelocity=CGVectorMake(0,400-self.playerNode.physicsBody.velocity.dy);self.playerNode.physicsBody.velocity=CGVectorMake(0,self.playerN
如果我在更新方法中实现该方法,我想以秒为单位,它只在第一秒有效,然后它会不停地打印数字,而不会在打印下一个数字之前等待一秒钟;我不明白为什么会这样-(void)countinSeconds{SKAction*count=[SKActionwaitForDuration:1];SKAction*time=[SKActionrunBlock:^{timex++;}];SKAction*print=[SKActionrunBlock:^{NSLog(@"%i",timex);}];[selfrunAction:[SKActionsequence:@[count,time,print]]];}
我要开始游戏,我将使用spritekit,但对于菜单屏幕和其他一些通用屏幕,我可以使用Storyboard轻松完成。混合Storyboard和Spritekit是一个好习惯吗?为什么我不应该这样做的任何缺点?或者我应该坚持在spritekit中完成所有场景? 最佳答案 两种方法都可以。如果您的菜单和通用屏幕不太复杂,从长远来看,坚持使用Spritekit可能会更好一些。参见:iOS7SpriteKit-Creatinggamemenus/buttons(Scenesvs.moreviewcontrollers)