使用纹理图集理解 SpriteKit 动画的逻辑

Understanding logic of SpriteKit animation with texture atlases

我只是不明白。例如:我正在制作一个有敌人的游戏。我拍了一些照片并把它放进了图集中。我希望敌人在与英雄发生碰撞之前静止不动,然后执行动画。我是否应该首先添加来自图集的第一张图片来代表敌人,然后以某种方式将所有图集添加到该图片以使其动画化?另外,如果我想让敌人的大小是英雄大小的两倍:我是否需要只为第一个精灵(如果我需要先添加它)或每个精灵一个接一个甚至整个地图集编写代码本身?我不明白如何与他们互动! 另外,我正在努力使游戏具有普遍性,将精灵命名为 enemy001@1x.png 是否正确? enemy001(在)2x.png; enemy001(at)3x.png 并把它放在一个图集中?我将不胜感激任何帮助,谢谢! 如果重要的话,我正在用 swift 编码。

你的问题在你具体问的问题上太混乱了。

"I can't understand how to interact with them!"

这不是一个好问题。如果需要,您需要更精确并将其分解为几个问题。但是,下面的一些提示可能会为您澄清一些问题。

  1. 您通常会预加载纹理图集以避免游戏过程中的延迟。

  2. 当您初始化 SKSpriteNode 时,您可以使用纹理(使用图集时首选)或图像。

  3. 要为 sprite 制作动画,您 运行 一系列图像。有几种方法可以做到这一点。例如:-(SKAction *)animateWithTextures:(NSArray *)textures timePerFrame:(NSTimeInterval)sec 会将 运行 一个动画图像序列放入 NSArray。

  4. 已在 Whosebug 上多次询问针对不同屏幕尺寸调整大小。搜索一下,看看会出现什么。