Tag: 雪碧套件

如何使用Sprite Kit减慢运行SKAction followPath的SKSpriteNode以获得慢动作效果?

我基本上希望这个动作正在运行,然后在这个动作的中间产生一个慢动作效果,然后把它从慢动作中解放出来。 有没有人有任何好的反馈如何做到这一点? 我想过手动创build动作并使用更新方法,但我觉得这可能是矫枉过正。 我希望有一个更简单的解决scheme。 另一个想法是停止行动,然后在较慢的时间再次启动,但我不认为它会保持在同一条路上,它可能看起来很奇怪。 这是我用来创build操作的代码。 CGMutablePathRef cgpath = CGPathCreateMutable(); CGPathMoveToPoint(cgpath,NULL, mysprite.position.x, mysprite.position.y); CGPathAddCurveToPoint(cgpath, NULL, cp1.x, cp1.y, cp2.x, cp2.y, ex, ey); [mysprite runAction:[SKAction sequence:@[[SKAction followPath:cgpath asOffset:NO orientToPath:YES duration:3]]]]; CGPathRelease(cgpath);

Spritekit:如何使游戏屏幕视图向上移动作为节点“跳”沿Y轴?

有人可以发表一个示例代码,我可以使我的游戏屏幕上移,因为我的播放器节点“跳”了Y轴。 像涂鸦跳转一样? 现在它显然只是跳出屏幕的顶部。 任何帮助,使我的“平台”节点从父母中删除自己,然后当他们走出视图的底部,当我向上移动屏幕将reapear将帮助以及。 还有最后一件事情,我如何在初始视图中添加多个节点。 [自加小孩:节点]只做一个。 我知道这些可能是业余的问题,这是因为我是一个业余爱好者。

SpriteKit – 以相同的状态返回到一个持久的场景。

能够从你离开的地方返回到前一个场景的概念在这里简要提到: https : //developer.apple.com/library/ios/documentation/GraphicsAnimation/Conceptual/SpriteKit_PG/DesigningGameswithSpriteKit/DesigningGameswithSpriteKit.html 除此之外,我无法find关于这个问题的更多文件。 我知道在其他框架,如Cocos2D,你可以popup场景在一个堆栈,甚至有多个场景在同一时间运行。 我如何得到这个在SpriteKit工作。 我有一个游戏与一个滑动菜单select字符。 select一个angular色后,场景变为另一个菜单。 我希望用户能够点击后退button,并显示前一个场景,他们select的angular色是全视angular。 目前我已经把前一个场景作为一个新场景呈现出来了。 哪一个原因造成它在一个新的状态,第一个字符在平面视图,而不是他们select的字符。 这应该是非常简单的,但对于我所有的search引擎,我不知道如何实现这一点。

iOS Sprite Kit:如何让Sprite跟随Touches

我是Sprite Kit的新手,我想知道如何让一个精灵跟随触摸。 例如,我的玩家精灵在屏幕的底部。 当我点击屏幕顶部时,玩家精灵应该以一定的速度移动到触摸点 – 如果我移动手指,它应该始终指向触摸点。 这是我试图实现它的方式: -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { for (UITouch *touch in touches) { CGPoint location = [touch locationInNode:self]; CGPoint diff = rwSub(location, self.player.position); CGPoint norm = rwNormalize(diff); SKAction *act = [SKAction moveByX:norm.x * 10 y:norm.y * 10 duration:0.1]; [self.player runAction:[SKAction repeatActionForever:act] withKey:@"move"]; } } – (void)touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event { for (UITouch […]

什么导致我的SKAction计时器行为奇怪?

好吧,我有一个场景,我有这个方法, createSceneContents , didMoveToView被调用时被调用。 在这个方法中,我有一些创build场景的东西,其中包括一个像这样产生节点的计时器: self.spawningSpeed = 1.5; self.enemyData = [[Enemy alloc]init]; SKAction *wait = [SKAction waitForDuration:1.5]; SKAction *run = [SKAction performSelector:@selector(spawningEnemy) onTarget:self]; self.spawnAction = [SKAction repeatActionForever:[SKAction sequence:@[wait,run]]]; [self.world runAction:self.spawnAction withKey:@"spawn"]; enemyData是我的敌人级别的一个物体,基本上只是在场景中增加一个SKSpriteNode。 世界节点就是我添加所有游戏元素的节点。 这就是在spawningEnemy方法中发生的事情: -(void)spawningEnemy { NSLog(@"spawned"); SKSpriteNode *aNewEnemy = [self.enemyData createEnemyWithSize:self.customUnit andWidth:self.frame.size.width andHeight:self.frame.size.height + self.player.position.y]; aNewEnemy.physicsBody.allowsRotation = NO; aNewEnemy.physicsBody.categoryBitMask = self.enemyCategory; aNewEnemy.physicsBody.collisionBitMask = self.enemyCategory […]

在Sprite Kit中暂停游戏:为什么这不起作用?

所以我给我的游戏添加了一个暂停button,冻结和解冻视图的作品。 不过,我希望它显示一条消息,如果视图目前被冻结,在屏幕上显示“暂停”。 但是如果我触摸我的暂停button,它不会显示标签。 这真的很奇怪,因为我发现如果将设备转到横向模式,会出现“PAUSE”消息。 (反之亦然,所以如果我在横向模式下触摸button并将设备转为纵向,则出现暂停标签)任何人都可以弄清楚这一点吗? 顺便说一句:我也尝试了不同的方法来做到这一点,例如一旦场景开始时暂停标签的初始化,并在需要的时候隐藏/显示它。 这也没有工作。 我也尝试在更新方法中使用if语句(如果场景暂停=>显示暂停标签),这也不起作用。 我在这里和苹果devforums之前问过这个问题,但没有人能解决这个问题呢。 有人以为我会在viewwilllayoutsubviews中呈现这个场景,这将解释肖像 – 横向行为,但是我从来没有在我的整个应用程序代码中使用过这个方法。 -(void)gameScene{ //Pause pauseButton = [SKSpriteNode spriteNodeWithImageNamed:@"pause.jpg"]; pauseButton.position = CGPointMake(screenWidth/2, screenHeight-80); pauseButton.zPosition = 5; pauseButton.name = @"pauseButton"; pauseButton.size = CGSizeMake(80, 80); [self addChild:pauseButton]; //Pause Label (wenn Pause gedrückt wird) pauseLabel = [SKLabelNode labelNodeWithFontNamed:@"Arial"]; pauseLabel.text = @"PAUSE"; pauseLabel.fontSize = 70; pauseLabel.position = CGPointMake(screenWidth/2, screenHeight/2); pauseLabel.zPosition […]

如何设置SKScene的背景图片?

由于目前无法将SKScene的颜色设置为clearColor -(id)initWithSize:(CGSize)size { if (self = [super initWithSize:size]) { self.backgroundColor = [SKColor clearColor]; } return self; } 如在这里看到的: LINK 那么如何设置SKScene的背景图像呢? 请尽可能具体,示例代码将是伟大的!

在哪里使用CGPathRelease?

我正在使用CGMutablePathRef为我的SKShapeNode创build一行。 读一下这个用法,我遇到了一个post,说完成使用path后使用CGPathRelease是很重要的。 现在我想知道,我什么时候可以发布path? 在SKShapeNode仍然存在的时候释放它会有什么危害吗? 哦,对不起,如果CGPathRelease从引入垃圾收集以来不再使用,我不能确定它是否仍然需要使用,所以请纠正我,如果不再需要。

为什么我不能将SKScene添加到另一个SKScene?

我试图让这个SKScene在游戏结束时出现在场景的中间,以便前面的场景在背景中仍然可见(类似于飞扬的鸟的结尾)。 这是我希望它出现的图像: 到目前为止,这是我所做的代码: 在游戏场景中: -(void)dieFrom:(SKNode*)killingDebris { _touched = YES; if (_touched == YES) { beatLevel = YES; NSLog(@"touched"); [self runAction:[SKAction sequence:@[ [SKAction runBlock:^{ [_goodSquare removeFromParent]; }], [SKAction runBlock:^{ level2Achieved = [[NSUserDefaults standardUserDefaults] integerForKey:@"newLevelAchieved"]; if (beatLevel == YES) { level2Achieved = 2; } [[NSUserDefaults standardUserDefaults] setInteger:level2Achieved forKey:@"newLevelAchieved"]; [[NSUserDefaults standardUserDefaults] synchronize]; [self removeAllChildren]; }], [SKAction waitForDuration:1.5], [SKAction […]

用Sprite Kit创build水(stream体)表面

我如何使用Sprite Kit创build水面? 我已经search并find了Cocos2d的帮助,它使用box2d来创build物理效果,比如漂浮在水面上的物体以及它在水中和水中的其他部分。 物体在施加力的作用下沿水向下,并将其投入水中并产生类似的效果。 那么我怎样才能达到与雪碧套件相同的水效应? 有任何想法吗