swift - 按名称删除 SKSpriteNode

标签 swift xcode sprite-kit

我有一个名为“color”的对象,我为每个生成的“color”命名,例如:

“红”

“蓝色”

“绿色”

我想知道如何在 if 语句中使用 removeFromParent() 通过其 .name 扩展名删除对象“color”?

基本上生成代码会生成“红色”、“蓝色”或“绿色”,然后我想要一个在用户使用键盘时运行的 if 语句。

if str?.lowercaseString == color.name {
      "remove the color with that name extension".removeFromParent() 

基本上我想删除名称扩展(红色、蓝色或绿色)与 if 语句中的“主题”变量相匹配的颜色 :)

最佳答案

因为您已经有了要比较的颜色对象,并且已经有了要与(主题)进行比较的对象,所以您拥有了所需的所有部分。从父项中删除时,您只是不包括 name 属性。

if subject == color.name {
    color.removeFromParent()
}

关于swift - 按名称删除 SKSpriteNode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38488180/

相关文章:

c++ - 如何在 Xcode Objective-C 项目中导入/使用 swift 静态库/框架到 .mm 类扩展

xcode - iOS : Absolute project path with xcodebuild

ios - 通过滑动分割 SKTextureNode

ios - 当它不是 rootviewcontroller 并且没有导航 Controller 时,如何从 SKScene 访问以前的 View Controller ?

ios - 按下回车键时如何在多个文本字段输入中切换?

ios - swift uiwebview NSErrorFailingURLStringKey

ios - 无法在深度嵌套的数据结构上下标错误

ios - 如何在 XCode iOS 模拟器上安装 .ipa 文件

swift - SpriteKit : how to vary skaction duration based on distance?

ios - 离开范围时 Swift 在 CFRelease 中崩溃