我无法为我的应用的这个区域创建一个可用的动画精灵。
我正在使用Corona SDK并拥有以下精灵:
这是名称mainCharacter.png
。我有一个名为mainCharacter@2x.png
的双倍大小的版本。
我有工作表选项,2个序列,我正在构建一个图像表并将其传递给我的精灵:
local playerSheetOptions =
{
width = 50,
height = 50,
numFrames = 17,
sheetContentWidth = 500,
sheetContentHeight = 100
}
local playerSequences = {
{
name = "idle",
start = 1,
count = 12,
time = 1200,
loopCount = 0,
loopDirection = "bounce"
},
{
name = "jump",
start = 13,
count = 5,
time = 600,
loopCount = 1
},
}
local playerSheet = graphics.newImageSheet( "resource/images/mainCharacter.png", playerSheetOptions )
local player = display.newSprite(gameSheet, playerSheet, playerSequences)
我收到以下错误:
display.newSprite() requires argument #2 to a table containing sequence data
如果我print
相关数据:
print(gameSheet)
print(playerSheet)
print(playerSequences)
我明白了:
14:27:05.703 userdata: 12445228
14:27:05.703 userdata: 0CF42600
14:27:05.703 table: 0CF41FD0
我哪里错了?我已经尝试过很多简化序列,但仍然可以做同样的事情。
答案 0 :(得分:0)
使用
local player = display.newSprite(playerSheet, playerSequences)
而不是
local player = display.newSprite(gameSheet, playerSheet, playerSequences)
来自Corona documentation
一旦设置了图像表和序列,就会出现一个新的精灵对象 可以使用display.newSprite()API创建:
display.newSprite([parent,] imageSheet,sequenceData)
对于此API,父级 参数是可选的,表示要在其中显示的组 插入精灵。 imageSheet参数定义默认图像 精灵的表格,sequenceData是包含所有精灵的表格 精灵的序列。
详细了解Sprite Animation。