问题标签 [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.
ios - 修改正在运行的 SKAction 的速度
我有这个代码:
然后我想减少加班时间。(更新时调用此方法:)所以我尝试了:
我得到:
这看起来不错,但我的 [SKAction ...] 仍然在 3 秒后继续重复。
ios - SKAction 完成块内的代码未按预期工作
我在我的游戏中实现了一个“暂停菜单”。当用户点击屏幕左上角的暂停按钮时,我运行以下代码:
要取消暂停,我这样做:
取消暂停后,节点层次结构与之前完全相同(我记录了它)。但是,暂停按钮一旦被_pauseLayer
(类型SKNode
)及其子_pauseCover
项(类型)覆盖,SKSpriteNode
就不再接收触摸输入(游戏场景本身会)。
如果我没有移除淡入淡出动作完成块上的封面,而是立即执行,或者使用-performSelector:withObject:afterDelay:
,如下所示:
...然后,恢复后,按钮就像以前一样工作...我知道 SKSpriteNode 实例阻止触摸事件(即使使用setUserInteractionEnabled:NO
),但精灵不再存在!令人费解!
注意我必须强调完成块确实被执行(断点停在那里),并在此之后记录删除的子项给出正确的计数(0)。但是,暂停按钮(实现-touches*: withEvent:
方法的精灵子类)不再接收触摸。
解决方案:
我从来没有完全完成我想要的:让一堆“占位符”节点充当层(级别),以固定深度持续存在,然后根据需要向它们添加/删除子节点(在这种情况下,封面精灵/对话框)。我想以这种方式实现它,因为 SKNode 没有-insertChild:aboveChild:
orinsertChild:belowChild:
方法,并且获取目标索引并插入那里有点容易出错/令人困惑(现有节点在哪个方向被“推送”?)。
尽管如此,我还是妥协了,决定按需添加/删除父层,只是跟踪顺序(先进后出,以保留预期的层顺序)。
说得够多了,我确定的代码是:
(_pauseLayer
在模糊的游戏内容之上,_dialogLayer
仍然在此之上,托管不同的对话框:“暂停”、“确认退出”、“确认重启”)。
animation - iOS7 SpriteKit 如何对两个或多个精灵节点子节点的动画进行分组?
如何为具有多个子节点的节点创建 SpriteKit 动画,并将节点的多个部分作为一个组进行动画处理?
我有以下节点结构:
- 鸟有身体、尾巴、头部等的子节点
- 头部有上喙、下喙等子节点
在下面的示例中,我想为整个小鸟制作动画,所有孩子都弯腰捡起种子。在弯腰时,鸟张开嘴吃种子。请注意,喙不是鸟的孩子,而是头节点的孩子。
这是我可以在头节点上运行以使其子节点执行操作的代码runAction:onChildWithName:
但是,我需要将其作为一个组与主体(父节点的父节点)节点一起运行
sprite-kit - 我怎样才能停止 SKAction
我怎样才能停止某些特定场景的动画动作?
sprite - 通过 SKAction 改变颜色?
我想通过分数更改 SKSpriteNode 的颜色。它的颜色应该会平滑变化,所以我尝试使用 SKAction。但是,颜色没有变化。
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:
objective-c - 用动作移动 Sprite
将精灵拖到屏幕上的某个位置后,如何自动将其移回?
我试过了:
objective-c - SpriteKit playSound 不播放 m4a 文件?
我想使用 playSoundFileNamed: 方法将背景声音文件作为循环播放,我照常将其复制到项目中,但问题是,程序停在声音代码行...
它没有发生任何事情(我不是在模拟器中尝试过,而是在真实设备上尝试过)!我尝试播放 wav 文件,没有错误,但是 wav 的文件大小要大得多...
希望有人知道解决方案:)
ios - 为 iOS SpriteKit 游戏播放电机音效... AVAudioPlayer vs SKAction vs?
我正在开发一个使用SpriteKit
引擎音效的驾驶游戏,但遇到了问题。
我想要两种不同的引擎声音。一种用于按下油门按钮时,一种用于未按下油门按钮时。在游戏进行时,两种声音中的一种会不断播放。
最好的方法是什么?我的声音文件应该非常短(0.10 秒或更短)并且循环播放还是应该相当长并且只是打开和关闭?我应该SKAction
用来播放声音还是AVAudioPlayer
其他什么?我尝试过使用AVAudioPlayer
,但每次我暂停播放播放器(打开或关闭油门)时,游戏的帧速率都会暂时下降。任何帮助表示赞赏!
objective-c - 您可以将 SKAction 放在 if 语句中吗?
这是我真正想要的论点,但它不起作用。这样做的正确方法是什么?任何想法?