【问题标题】:Creating an image from a sprite sheet using the original images file name使用原始图像文件名从精灵表创建图像
【发布时间】:2012-02-16 08:31:54
【问题描述】:

到处都建议创建精灵表(也称为纹理图集),而不是使用数百个单独的图像。我有数百张用于单词学习游戏的图像;但是有数百个单词,没有动画序列。因此,在生成了数据文件和精灵表之后,我正在寻找一个示例,说明如何在需要时从原始图像文件名(存储在精灵表数据(lua 代码)文件中(均使用纹理打包器创建)创建图像) .

这似乎是正确的:

local sprite = require("sprite")

local CN_70_tiles_corona = require("CN_70_tiles_corona")

local spriteDataCN = CN_70_tiles_corona.getSpriteSheetData()

local spriteSheet = sprite.newSpriteSheetFromData( "CN_70_tiles_corona.png", spriteDataCN )

在创建精灵表之前,会使用以下内容创建我的图像:

t1 =    display.newImage(cnTiles[tileNO]) 

例如,cnTiles[1] 是从 sqlite 表(例如“sit_word100.png”)放置在数组中的值。

现在在“getSpritSheetData”函数下方我的生成 lua 文件中有一个条目,如下所示:

{
  name = "sit_word100.png",
  spriteColorRect = { x = 0, y = 0, width = 69, height = 69 },
  textureRect = { x = 2, y = 2, width = 69, height = 69 },
  spriteSourceSize = { width = 69, height = 69 },
  spriteTrimmed = false,
  textureRotated = false
},

我可以看到我的所有图像文件名现在都存储在数据中,以提供一种在精灵表中引用我的图像的方法,但是由于我不想使用“精灵集”,所以我找不到一个在需要时只获取一个图像的示例。

我想要一些允许我使用原始图像名称引用我现在的 spritesheet 化图像的东西。这可能吗?例如

t1 =    display.newImage(CN_70_tiles_corona.getSpriteSheetData(name = "sit_word100.png") 

【问题讨论】:

  • 更新:我在link 找到了一个IOS / Objective C Cocos2d 答案,显示:CCTexture2D *texture = [[CCTextureCache sharedTextureCache] addImage:@"myatlastexture.png"]; CCSprite *sprite = [CCSprite spriteWithTexture:texture rect:CGRectMake(0,0,32,32)]; 所以我正在寻找一个Lua 版本。将记住这个线索检查文档。
  • 这里也有人问过这个问题:link,但以 SpriteSet 的形式回答。啊。不想创建一个单块精灵集——这就是答案吗?

标签: lua sprite coronasdk sprite-sheet


【解决方案1】:

简单的方法是使用TexturePacker 创建表格并使用 SpriteGrabber 获取您需要的精灵。

这是一个很棒的 Corona-SDK 插件,可以在这里找到:

http://developer.anscamobile.com/code/spritegrabber-spritesheets-two-lines

【讨论】:

  • Andreas:我喜欢你的 Texturepacker——这就是为什么我可以使用 spritesheets。我买了它和物理编辑器也只是为了组合的好价格。很棒且易于使用。许多简单的选择。我只需要一些 lua 中的代码示例,可以从大表中提取精灵。 SpriteGrabber 正是解决方案!@ 谢谢!
  • 漂亮的精灵抓取器。 @hangzhouharry 如果有用,您应该接受答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-10-09
  • 2021-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-01
  • 2012-02-10
相关资源
最近更新 更多