首页 > 解决方案 > 如何在 Corona SDK 中通过多个图像为一个对象制作多个动画?

问题描述

我刚刚学习了使用 Corona SDK 编程。最近我在为对象设置动画时遇到问题。我已经在 Corona 中看到了有关动画的所有说明,并且我看到它只是介绍了如何使用单个图像为对象制作动画(他们使用一个图像使对象具有两个或多个动画)https://www.youtube。 com/watch?v=VsA2agBAWho&t=322s

我也照做了,当我在 Internet 上找到该资产时,问题就开始了,这里的链接:https ://finalbossblues.itch.io/pixel-platformer-pack?download 。如您所见,该文件夹有多个动画的多个图像。我不知道也没有参考通过多张图像为我的播放器的所有动画制作动画(但我可以用一张图像来做到这一点)。

我在互联网上找到了一些解决方案,但没有适合我的结果。

结果,我有以下代码:

---------------------------------------------------------------------------------
--
-- main.lua
--
---------------------------------------------------------------------------------

-- My code here

local sheetData = {
    width = 30,
    height = 44,
    numFrames = 6,
    sheetContentWidth = 181,
    sheetContentHeight = 44 }

local mySheet = graphics.newImageSheet( "walk.png", sheetData )

local sequenceData = {
    { name = "normalrun", start = 1, count = 6, time = 800 } 
  }

local animation = display.newSprite( mySheet, sequenceData )
animation.x=150
animation.y= 300
animation:play()

这只是制作一个动画。

而现在,我只有两种选择。一种是使用某种方法通过多个图像为多个动画制作动画(这是我需要帮助的地方)。二是将所有图像合二为一。

我使用 GG Translate 来回答这个问题。这是我游戏开发的第一步。我想将所有动画集成到我的播放器中(如步行、跳跃、攻击......)并在需要时调用它(使用多个图像)。

标签: animationcoronasdksprite-sheet

解决方案


display.newSprite()

查看名为“Multiple Image Sheets”的示例代码。

您需要的一切都在 Corona Api 文档中 :)

只需制作 1 个动画 :((

loop = 0如果您需要无限循环,请将每个动画添加到您的 sequenceData

二是将所有图像合并为一个:))(看起来很作弊)。

如果您的图像不是太大,您可以在一张纸上放很多东西,只需控制他的尺寸不要太大


推荐阅读