我有一個海狸是爲了跟隨用戶frog
。它以更慢的速度向青蛙的方向移動。不過,我希望海狸擁有左右動畫。所以我有運動的工作,而不是動畫。在if語句中使用spritesheet移動圖像
local BidoofSheetData =
{
width = 32,
height = 48,
numFrames = 8,
sheetContentWidth = 128,
sheetcontentheight = 96
}
--Set File Actual size
bidoofSheet = graphics.newImageSheet ("BidoofSpriteSheet.png", BidoofSheetData)
--Set the sequences
local bidoofsequenceData = {
{name = "bstop", start = 1, count = 1, time = 300},
{name = "bleft", start = 2, count = 3, time = 300},
{name = "bright", start = 5, count = 3, time = 300}
}
--frog mask
local physicsData = (require "bidoofdefs").physicsData(1.0)
--Link sheet data to previous settings
beaver = display.newSprite(bidoofSheet, bidoofsequenceData)
beaver.x = display.contentWidth/2
beaver.y = 284
physics.addBody(beaver, "static")
beaver.isFixedRotation = true
--
function moveBeaver()
if frog.x > beaver.x then
beaver.x = beaver.x + 0.5
elseif frog.x < beaver.x then
beaver.x = beaver.x - 0.5
elseif frog.x == beaver.x then
beaver.x = beaver.x
end
end
Runtime:addEventListener("enterFrame", moveBeaver)
我試着將它添加在moveBeaver
功能,但它不能正常工作。
編輯: 我試着將beaver:setSequence("bleft");beaver:play()
添加到不同的區域。如果你在相應的方向移動,它會左轉一幀,右轉一幀。如果你向左或向右移動並停止,它會不斷地播放左右幀。
但它沒有播放我想要的3幀動畫。
你說你試着將它添加到'moveBeaver'功能,並沒有奏效。你究竟嘗試了什麼? –