ios – 从SKNode中删除特定的SKAction列表

ios – 从SKNode中删除特定的SKAction列表,第1张

概述在开发不同节点之间的一些交互期间,我意识到我需要从节点中删除特定的 *** 作列表. 当前版本的Sprite-Kit框架提供了一些实例方法: > removeAllActions() > action(forKey key: String) > hasActions() 显然,在我的节点中运行的每个 *** 作都有一个String键用于其标识. 所以我想到了与removeAllAction非常相似的东西,然后我做 在开发不同节点之间的一些交互期间,我意识到我需要从节点中删除特定的 *** 作列表.
当前版本的Sprite-Kit框架提供了一些实例方法:

> removeAllActions()
> action(forKey key: String)
> hasActions()

显然,在我的节点中运行的每个 *** 作都有一个String键用于其标识.
所以我想到了与removeAllAction非常相似的东西,然后我做了一个SKNode扩展:

public extension SKNode {    func removeAllAction(in List:[String]) {       List.forEach { if self.action(forKey: 
let actionList = ["IDle_walk_sx","IDle_walk_dx","walk_dx","walk_sx","walk_IDle_sx","walk_IDle_dx","rotate_sx_dx","rotate_dx_sx"]self.removeAllAction(in: actionList)
) != nil { self.action(forKey:
public extension SKNode {    func removeAllAction(in List:[String]) {        List.forEach { if self.action(forKey: ) != nil { self.removeAction(forKey: )}}        self.children            .filter { .hasActions() }            .forEach { .removeAllAction(in: List) }    }}
)?.speed = 0.0; self.removeAction(forKey: )}} }}

在我的项目中,我可以将其用作:

代码效果很好.
但我不确定两个因素:

>速度修正的有效性(为零),我想
适合在面对重复行动时介绍它.我应该因为避免绷紧而将其取下或放下吗?
>如何将此扩展(扩展)扩展到任何扩展
要删除相同列表的孩子?

解决方法 我同意这些意见.可能速度不是必需的,因此扫描到子节点的代码可能是这样的:

总结

以上是内存溢出为你收集整理的ios – 从SKNode中删除特定的SKAction列表全部内容,希望文章能够帮你解决ios – 从SKNode中删除特定的SKAction列表所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1031962.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存