【问题标题】:sprite sheet animation in cocoa可可中的精灵表动画
【发布时间】:2021-03-21 01:40:41
【问题描述】:

我正在开发一个简单的 iPad 应用程序,该应用程序具有使用 CAKeyFrameAnimation 的 12 个单独图像的动画。

只是想知道使用一个精灵表和一个描述该精灵的 plist 文件而不是加载 12 个单独的图像的最简单方法是什么?

【问题讨论】:

  • 回答我自己的问题。我使用了 CGImageCreateWithImageInRect 和 plist 文件中的坐标。我唯一的问题是我的 CGImage 被拉伸以填充这些图像所在的 CALayer。知道如何克服吗?

标签: cocoa animation sprite


【解决方案1】:

我所做的是将 spritesheet 作为单个图像加载,将 plist 加载到边界标准化 CGRects,然后使用 CAKeyframeAnimation@"sprite-animation" 键上为图层的 contentsRect 设置动画。

This gist 包含我写的类。它没有加载动画名称、帧索引和时间的 plist 的方法,但编写一个很容易。主要问题是您必须确保设置图层的frameSize,否则您将无法获得有效的动画。

附注:我想手动为精灵的运动设置动画,因此我将position 键设置为-[SpriteLayer init] 中的空动画动作。您可能想删除该行。

【讨论】:

    猜你喜欢
    • 2019-03-10
    • 1970-01-01
    • 2014-05-11
    • 1970-01-01
    • 2017-06-21
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 2011-12-01
    相关资源
    最近更新 更多