草庐IT

SKAction

全部标签

ios - 停止永远重复的 SKAction - Sprite Kit

我想根据它的旋转在我的spriteNode上运行两个动画。如果值为负,则运行其中一个动画,如果为正,则运行另一个。我设法做到了(有点),但我遇到了问题。如果Animation1正在运行,并且zRotation变为正值,则它们都会运行,因为它们会永远重复。所以我这样做了:NSMutableArray*walkingTextures=[NSMutableArrayarrayWithCapacity:14];for(inti=1;i然后当我想让它停止时:[selfremoveActionForKey:@"animation1"];但是它一直在运行Action,那我怎么才能停止Action呢?

ios - SpriteKit SKAction 缓动

好吧,标题暴露了问题,我如何将缓动应用于SpriteKit中的SKAction节点Action?我发现这行得通:SKAction*moveAction=[SKActionmoveByX:moveXy:moveYduration:0.5];moveAction.timingMode=SKActionTimingEaseInEaseOut;[noderunAction:moveAction];然而,只有少数缓动类型可用there,即Linear、EaseIn、EaseOut、EaseInOut。而且这些缓和值是固定的,不能更改。我正在寻找类似EleasticInOut的东西。最好有更多的控

ios - SpriteKit SKAction 缓动

好吧,标题暴露了问题,我如何将缓动应用于SpriteKit中的SKAction节点Action?我发现这行得通:SKAction*moveAction=[SKActionmoveByX:moveXy:moveYduration:0.5];moveAction.timingMode=SKActionTimingEaseInEaseOut;[noderunAction:moveAction];然而,只有少数缓动类型可用there,即Linear、EaseIn、EaseOut、EaseInOut。而且这些缓和值是固定的,不能更改。我正在寻找类似EleasticInOut的东西。最好有更多的控

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

我基本上希望Action运行,然后在Action中间创建慢动作效果,然后再将其从慢动作中移出。有没有人对如何做到这一点有任何好的反馈?我考虑过手动创建操作并使用更新方法,但我觉得这可能有点矫枉过正。我希望有一个更简单的解决方案。我的另一个想法是停止Action,然后以较慢的持续时间再次开始,但我不认为它会保持在同一条路径上,而且它可能看起来很奇怪。这是我用来创建操作的代码。CGMutablePathRefcgpath=CGPathCreateMutable();CGPathMoveToPoint(cgpath,NULL,mysprite.position.x,mysprite.posi

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

我基本上希望Action运行,然后在Action中间创建慢动作效果,然后再将其从慢动作中移出。有没有人对如何做到这一点有任何好的反馈?我考虑过手动创建操作并使用更新方法,但我觉得这可能有点矫枉过正。我希望有一个更简单的解决方案。我的另一个想法是停止Action,然后以较慢的持续时间再次开始,但我不认为它会保持在同一条路径上,而且它可能看起来很奇怪。这是我用来创建操作的代码。CGMutablePathRefcgpath=CGPathCreateMutable();CGPathMoveToPoint(cgpath,NULL,mysprite.position.x,mysprite.posi

ios - 是否可以结束 SKAction Action 中途?

我有一个SKSpriteNode(monsterNode)的子类。它使用矢量自动在屏幕上运行以跟随玩家。我目前正在使用以下操作使其运行:SKAction*actionMove=[SKActionmoveTo:actualDistanceduration:time];[selfrunAction:actionMovecompletion:^{_currentState=SVGMonsterStateIdle;}];我想知道是否有可能使monsterNode在碰到iOS设备屏幕的边界时实际上停止运行该操作。我目前在屏幕边缘有SKSpriteNode边界,与接触委托(delegate)链接以

ios - 是否可以结束 SKAction Action 中途?

我有一个SKSpriteNode(monsterNode)的子类。它使用矢量自动在屏幕上运行以跟随玩家。我目前正在使用以下操作使其运行:SKAction*actionMove=[SKActionmoveTo:actualDistanceduration:time];[selfrunAction:actionMovecompletion:^{_currentState=SVGMonsterStateIdle;}];我想知道是否有可能使monsterNode在碰到iOS设备屏幕的边界时实际上停止运行该操作。我目前在屏幕边缘有SKSpriteNode边界,与接触委托(delegate)链接以

swift - SKAction playsoundfilenamed 加载声音失败

无论我尝试在项目中播放什么wav文件,我都会收到相同的错误。错误状态:由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“无法加载资源namedfile.wav”我无法使用SKAction.playSoundFilenamed加载任何类型的声音。我已确保该文件的名称正确,这似乎不是问题所在。我已经在几个项目中对此进行了测试,包括以下测试游戏项目,其中我使用所有默认代码,除了调用SKActionclassGameScene:SKScene{overridefuncdidMoveToView(view:SKView){/*Setupyoursce

swift - SKAction playsoundfilenamed 加载声音失败

无论我尝试在项目中播放什么wav文件,我都会收到相同的错误。错误状态:由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“无法加载资源namedfile.wav”我无法使用SKAction.playSoundFilenamed加载任何类型的声音。我已确保该文件的名称正确,这似乎不是问题所在。我已经在几个项目中对此进行了测试,包括以下测试游戏项目,其中我使用所有默认代码,除了调用SKActionclassGameScene:SKScene{overridefuncdidMoveToView(view:SKView){/*Setupyoursce

swift - 停止正在运行的 SKAction - Sprite Kit

以下代码将为旋转设置动画。letsomething:SKSpriteNode=SKSpriteNode()funcstart(){letrotateAction=SKAction.rotateToAngle(CGFloat(M_PI),duration:10.0)something.runAction(SKAction.sequence([rotateAction]))}现在我想在动画持续时间内停止动画。有没有类似下面的?我想在用户触摸屏幕时停止动画。funcstop(){something.SKAction.stop()} 最佳答案