我试图做的是从另一个lua文件中调用某些图像并将其加载到游戏中以节省必须在每个需要图像的lua文件中单独创建它们。
我想在menu.lua文件中加载这个角色,并允许它在游戏移动到game.lua时留在屏幕上。因此,我不想在每个文件中再次创建角色,而是希望进行简单的调用并允许它一直保留到被删除。
感谢。
local jumpForce = 350
**随机播放器图片**
Anims = {
"images/birdAnim.png",
"images/birdAnim2.png",
}
**播放器动画**
local sheetData = {width=45, height=35, numFrames=2, sheetContentWidth=90, sheetContentHeight=35}
local imagesheet = graphics.newImageSheet(Anims[math.random(1,2)], sheetData)
local sequenceData = {
{name="hop", start=1, count=1, time=300},
{name="drop", start=2, count=1, time=300}
}
**创建播放器**
bird = display.newSprite(playerGroup, imagesheet, sequenceData)
bird.x = display.contentCenterX - 150
bird.y = 140
bird.name = "bird"
physics.addBody( bird, "static", physicsData:get("player3") )
bird.isSensor = true
bird:setSequence("drop")
bird:play()
group:insert(bird)
已更新!
**玩家处理程序**
local function movePlayer(event)
if event.phase == "began" then
bird:setLinearVelocity(0, -jumpForce)
playSFX(sndJump)
bird:setSequence("hop")
bird:play()
elseif event.phase == "ended" then
bird:setSequence("drop")
bird:play()
end
return true
end
**玩家听众**
Runtime:addEventListener("touch", movePlayer)
答案 0 :(得分:0)
你能给我们完整的代码吗?
问题可能是当你从main切换到game.lua
时,playerGroup会被破坏您可以在没有任何父级的情况下创建它,直到您手动删除它为止
答案 1 :(得分:0)
切换场景时,会删除图像表和序列数据。我建议您将它们全部放在一个单独的LUA文件中,以便日冕可以在场景更改期间引用它。并创建一个处理该对象的全局组。不要将其插入场景中的任何组。