加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在Swift 3中获取SKSpriteNode的文件名

发布时间:2020-12-14 02:28:50 所属栏目:百科 来源:网络整理
导读:如何从SKSpriteNode访问图像文件名?我一直试图谷歌这个,但似乎没有答案可用.这是我的代码中无用的部分: current_ingredient?.name = String(describing: current_ingredient?.texture)print("Filename: (current_ingredient?.name)") print命令返回: Fil
如何从SKSpriteNode访问图像文件名?我一直试图谷歌这个,但似乎没有答案可用.这是我的代码中无用的部分:
current_ingredient?.name = String(describing: current_ingredient?.texture)

print("Filename: (current_ingredient?.name)")

print命令返回:

Filename: Optional("Optional(<SKTexture> 'ingredient14' (110 x 148))")

所以,问题是,我怎么才得到“ingredient14”?

它存储在描述中,所以这里是一个很好的小扩展,我把它撕掉了.
extension SKTexture
{
    var name : String
    {
        return self.description.slice(start: "'",to: "'")!
    }
}

extension String {
    func slice(start: String,to: String) -> String? 
    {

        return (range(of: start)?.upperBound).flatMap 
        { 
          sInd in
            (range(of: to,range: sInd..<endIndex)?.lowerBound).map 
            {
                eInd in
                substring(with:sInd..<eInd)

            }
        }
    }
}
usage:

print(sprite.texture!.name)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读