skaction相关内容

SKAction:Perform(_:OnTarget:)中的选择符是什么

文件上说: Declaration: class func perform(_ selector: Selector, onTarget target: Any) -> SKAction 选择器 要调用的方法的选择器。 我不确定什么是方法的选择器。这就是问题所在。 它看起来像是方法/函数的名称,但(在我心中)造成了不确定性,因为它从来没有被描述为这个名称,所以我 ..
发布时间:2022-04-14 18:36:57 移动开发

在应用程序状态保存期间解决 SKAction 代码块编码限制的好方法是什么?

问题 在对节点层次结构进行编码时,如在应用程序状态保存或“游戏保存"期间很常见,必须对运行带有代码块的 SKAction 动作的节点进行特殊处理,因为无法对代码块进行编码. 示例 1:动画后延迟回调 在这里,一个兽人被杀了.它被动画淡出然后从节点层次结构中移除: SKAction *fadeAction = [SKAction fadeOutWithDuration:3.0]; ..
发布时间:2022-01-11 12:23:26 移动开发

随着游戏的进行,更改 SKAction.waitForDuration() 中的时间间隔

基本上,这是重复动作序列中的动作之一.每次在序列中调用动作时,我希望增加等待时间,因此我添加了一个计数器作为等待时间编号,并在序列中调用动作时递增.问题在于,变量仅在序列开始时增加,但在序列中再次发生动作时根本不会改变,等待时间在整个游戏中保持不变.我不知道当它被调用时如何让它改变 var timeInterval = 0//主要方法覆盖函数 didMoveToView(视图:SKView){v ..
发布时间:2022-01-11 12:23:08 移动开发

Spritekit 停止声音

我目前正在使用 Apple 的 SpriteKit 库开发游戏,但在开始播放后我无法停止声音.我尝试使用文档中列出的方法来阻止 Skaction 运行,但似乎没有任何东西可以阻止声音播放.这些是我试图阻止声音的尝试. //播放声音动作:SKAction *music = [SKAction playSoundFileNamed:@"menu.wav" waitForCompletion:YES] ..
发布时间:2022-01-11 12:19:48 其他开发

使用不同的节点运行 SKActions 序列

我知道我可以创建一个 SKAction.sequence,它会一个一个地运行一个节点的动作.但是,如果我想用不同的节点做一个序列,我该怎么做.我想做这样的事情: 从节点 A 运行操作 等待 2 秒 从节点 B 运行操作. 解决方案 如果两个节点都是唯一命名的并且是同一个节点的子节点,可以使用runAction:onChildWithName:,如下: SKAction *act ..
发布时间:2022-01-11 12:19:38 移动开发

SKAction playSoundFileNamed from Singleton

我有几个级别都使用相同的音效.我没有在每个级别都使用相同的代码,而是将所有声音合并到一个单例类中.但是,当我从其他类运行该方法时,将它放在一个单例中不会播放任何声音.我没有错误或警告. 当我在每个类中使用相同的代码时,播放声音就没有问题了. 问题: SKAction playSoundFileNamed 在从单例调用时不起作用还是我的代码缺少某些内容? 我的单例头文件... - ..
发布时间:2022-01-11 12:16:28 其他开发

SKAction playSoundFileNamed 停止背景音乐

我希望我的 SpriteKit 游戏不会中断用户收听的背景音乐(Music.app 或广播应用). 一切正常,直到执行到这一行: sSharedShootSoundAction = [SKAction playSoundFileNamed:@"plane_shoot.aiff"等待完成:否]; 在这行背景音乐停止后.如何避免这种情况? 解决方案 我自己也遇到过这个问题.仅供参考, ..
发布时间:2022-01-11 12:13:44 移动开发

在 Swift SpriteKit 项目中播放声音?

当我运行这段代码时. runAction(SKAction.playSoundFileNamed("Click.mp3", waitForCompletion: false)) 我的应用崩溃了: 由于未捕获的异常“NSInvalidArgumentException"而终止应用程序,原因:“在主包中找不到资源 Click.mp3" 解决方案 验证文件是否存在于项目中.先实 ..
发布时间:2022-01-11 12:12:49 移动开发

SpriteKit 游戏中的 AVAudioPlayer 和性能问题

我在使用 AVAudioPlayer 并在我的 spritekit 游戏中播放短声音时遇到问题.我有非常动态的游戏场景,当用户点击特定元素时,我想播放简单的“哔"声,但我注意到使用 AVAudioPlayer 执行声音会导致严重的性能问题. 我的音频文件是 .mp3 格式. 我还尝试了 SKAction 方法 (playSoundFileNamed) 来执行声音,一切看起来几乎一样,我 ..
发布时间:2022-01-11 12:10:19 移动开发

SKAction playSoundFileNamed 连续接到两个电话后不起作用

我试图弄清楚为什么 playSoundFileNamed 在接到两个连续电话后不起作用.实际上它只有在接到第一个电话后才起作用.复制步骤是: 开始游戏 等待电话并转到后台 电话已结束(被来电者拒绝或打断) 返回前台 在此之后,从 touchesBegan 播放声音仍然有效. 当我重复上面的步骤(跳过第一步)时,touchesBegan 的机制停止工作.不知道为什么会发生这种 ..
发布时间:2022-01-11 12:06:38 移动开发

SpriteKit 中的动画路径绘制

我正在尝试使用 SpriteKit 为路径上的笔画绘制动画.我已经使用 SKActions 实现了一个可行的解决方案,并使用 CABasicAnimations 实现了一个单独的实现.SKAction 解决方案不是很优雅;它在 SKAction.repeatAction(action:count:) 调用的每次迭代中创建并绘制一条新路径,每个新路径都比前一个更完整. func start() { ..
发布时间:2022-01-11 12:04:35 移动开发

是否可以在 SKAction 中途结束?

我有一个 SKSpriteNode (monsterNode) 的子类.它使用矢量自动在屏幕上运行以跟随玩家.我目前正在使用以下操作使其运行: SKAction *actionMove = [SKAction moveTo:actualDistance duration:time];[自runAction:actionMove完成:^ {_currentState = SVGMonsterSta ..
发布时间:2022-01-11 12:00:20 移动开发

一次运行两个 SKAction

我正在使用一个序列来运行一个 SKAction 列表.然而,我想做的是运行一个 SKAction,然后一次运行两个,然后依次运行一个. 这是我的代码: SKNode *ballNode = [self childNodeWithName:@"ball"];if (ballNode != Nil){ballNode.name = nil;SKAction *延迟 = [SKAction wa ..
发布时间:2022-01-11 11:58:46 移动开发

如何中断 SpriteKit 动作序列并像没有中断一样恢复

我想中断下面的序列 2 秒钟,然后恢复到最初没有中断时的位置. 例如,从下面的代码中,如果我通过使精灵在序列中的 1.5 到 3.5 秒可见而中断序列 2 秒(这意味着 1 秒 hideInterval 动作加上showSprite 动作,并且将错过 0.5 秒的 showInterval 动作)中断将在 showInterval 动作剩余 2.5 秒时结束.如何让精灵在剩余的 2.5 秒内 ..
发布时间:2022-01-11 11:53:52 其他开发

SKAction前进

如何让 SKNode 继续前进? 我已经能够使用 [SKAction moveByX:y:duration:] 让节点沿固定方向移动,但我希望它沿相对于其面向的方向移动. 我希望让每个节点转 45 度,然后“走"前 50 像素. 看起来很简单,我就是找不到. 解决方案 这会旋转,然后朝向你点击的地方 -(void)touchesBegan:(NSSet *)touche ..
发布时间:2022-01-11 11:53:12 移动开发