【发布时间】:2018-08-17 04:48:17
【问题描述】:
所以我正在使用 SpriteKit 开发一款游戏。我有一个为玩家生成关卡的函数。 该函数使用放置在 assets.xcassets 中的图像来生成关卡。游戏有多个主题,即火水和电。每个主题都有自己的一组具有相同名称的图像,但每个主题图像集都位于其单独的文件夹/组中。我是否可以以编程方式告诉该函数使用特定文件夹,以便我可以为其他主题生成关卡而无需重命名图像。或者我是否可以使用多个资产文件夹并更改函数在运行时使用的文件夹。每次玩家重新启动关卡时,我都想使用随机主题。
【问题讨论】:
-
据我所知,您不能将具有相同名称的图像保存在同一个文件夹中,并且您从 Assets 文件夹访问的图像不是基于文件夹而是基于图像名称。所以最好的方法是根据主题保留图像名称,并根据主题以编程方式设置这些图像。
-
是否可以在项目导航器中创建多个资产文件夹,如 assets1.xcassets、assets2.xcassets 等,并以编程方式访问每个文件夹
-
是的!单击添加新文件转到资源或搜索资产目录并添加资产目录名称,随便你
-
不建议有 2 个同名文件,图像库的工作方式是即使指向错误的位置也会尽力找到具有给定名称的文件。我建议使用字符串插值并使用单独的精灵图集。示例
let fireblock = SKSprite(imageNamed(“fire_\(block)”) -
你甚至可以做
let block = SKSpriteNode(imageNamed:”\(level)_\(block)”)
标签: ios swift xcode sprite-kit assets