问题标签 [skaction]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1383 浏览

ios - 修改正在运行的 SKAction 的速度

我有这个代码:

然后我想减少加班时间。(更新时调用此方法:)所以我尝试了:

我得到:

这看起来不错,但我的 [SKAction ...] 仍然在 3 秒后继续重复。

0 投票
0 回答
1299 浏览

ios - SKAction 完成块内的代码未按预期工作

我在我的游戏中实现了一个“暂停菜单”。当用户点击屏幕左上角的暂停按钮时,我运行以下代码:

要取消暂停,我这样做:

取消暂停后,节点层次结构与之前完全相同(我记录了它)。但是,暂停按钮一旦被_pauseLayer(类型SKNode)及其子_pauseCover项(类型)覆盖,SKSpriteNode就不再接收触摸输入(游戏场景本身会)。

如果我没有移除淡入淡出动作完成块上的封面,而是立即执行,或者使用-performSelector:withObject:afterDelay:,如下所示:

...然后,恢复后,按钮就像以前一样工作...我知道 SKSpriteNode 实例阻止触摸事件(即使使用setUserInteractionEnabled:NO),但精灵不再存在!令人费解!

注意我必须强调完成块确实被执行(断点停在那里),并在此之后记录删除的子项给出正确的计数(0)。但是,暂停按钮(实现-touches*: withEvent: 方法的精灵子类)不再接收触摸。


解决方案: 我从来没有完全完成我想要的:让一堆“占位符”节点充当层(级别),以固定深度持续存在,然后根据需要向它们添加/删除子节点(在这种情况下,封面精灵/对话框)。我想以这种方式实现它,因为 SKNode 没有-insertChild:aboveChild:orinsertChild:belowChild:方法,并且获取目标索引并插入那里有点容易出错/令人困惑(现有节点在哪个方向被“推送”?)。

尽管如此,我还是妥协了,决定按需添加/删除父层,只是跟踪顺序(先进后出,以保留预期的层顺序)。

说得够多了,我确定的代码是:

_pauseLayer在模糊的游戏内容之上,_dialogLayer仍然在此之上,托管不同的对话框:“暂停”、“确认退出”、“确认重启”)。

0 投票
3 回答
3075 浏览

animation - iOS7 SpriteKit 如何对两个或多个精灵节点子节点的动画进行分组?

如何为具有多个子节点的节点创建 SpriteKit 动画,并将节点的多个部分作为一个组进行动画处理?

我有以下节点结构:

  • 鸟有身体、尾巴、头部等的子节点
  • 头部有上喙、下喙等子节点

在下面的示例中,我想为整个小鸟制作动画,所有孩子都弯腰捡起种子。在弯腰时,鸟张开嘴吃种子。请注意,喙不是鸟的孩子,而是头节点的孩子。

这是我可以在头节点上运行以使其子节点执行操作的代码runAction:onChildWithName:但是,我需要将其作为一个组与主体(父节点的父节点)节点一起运行

0 投票
1 回答
844 浏览

sprite-kit - 我怎样才能停止 SKAction

我怎样才能停止某些特定场景的动画动作?

0 投票
1 回答
2587 浏览

sprite - 通过 SKAction 改变颜色?

我想通过分数更改 SKSpriteNode 的颜色。它的颜色应该会平滑变化,所以我尝试使用 SKAction。但是,颜色没有变化。

0 投票
2 回答
1035 浏览

ios - How to loop music with SKAction?

I want to loop my background music with an SKAction but the music stops after one row when I switch to an other scene. Is there a way to start the loop and keep playing it over different scenes?

Right now the code is placed in the init method of MyScene - is that the correct place? Maybe didFinishLaunchingWithOptions?

Here is what I've tried:

0 投票
2 回答
103 浏览

objective-c - 用动作移动 Sprite

将精灵拖到屏幕上的某个位置后,如何自动将其移回?

我试过了:

0 投票
1 回答
1139 浏览

objective-c - SpriteKit playSound 不播放 m4a 文件?

我想使用 playSoundFileNamed: 方法将背景声音文件作为循环播放,我照常将其复制到项目中,但问题是,程序停在声音代码行...

它没有发生任何事情(我不是在模拟器中尝试过,而是在真实设备上尝试过)!我尝试播放 wav 文件,没有错误,但是 wav 的文件大小要大得多...

希望有人知道解决方案:)

0 投票
2 回答
1700 浏览

ios - 为 iOS SpriteKit 游戏播放电机音效... AVAudioPlayer vs SKAction vs?

我正在开发一个使用SpriteKit引擎音效的驾驶游戏,但遇到了问题。

我想要两种不同的引擎声音。一种用于按下油门按钮时,一种用于未按下油门按钮时。在游戏进行时,两种声音中的一种会不断播放。

最好的方法是什么?我的声音文件应该非常短(0.10 秒或更短)并且循环播放还是应该相当长并且只是打开和关闭?我应该SKAction用来播放声音还是AVAudioPlayer其他什么?我尝试过使用AVAudioPlayer,但每次我暂停播放播放器(打开或关闭油门)时,游戏的帧速率都会暂时下降。任何帮助表示赞赏!

0 投票
1 回答
81 浏览

objective-c - 您可以将 SKAction 放在 if 语句中吗?

这是我真正想要的论点,但它不起作用。这样做的正确方法是什么?任何想法?