Corona Sdk 中的物理错误

在 Corona Sdk 中遇到了问题。物理效果出问题了,物体会沿着随机方向移动。

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

-- 在这里写你的代码
local physics_engine = require("physics")
physics_engine.start()

local background=display.newGroup()
local main_area=display.newGroup()
local sheetOptions =
{--animated sheet options
    width = 389,
    height = 391,
    numFrames = 10
}
--load animated image sheet
local cute_charac_sheet = graphics.newImageSheet( "spritesheet.png", sheetOptions )
local sequences_cute_charac = {
    -- consecutive frames sequence
    {--animation options for blinking
        name = "normalRun",
        start = 1,
        count = 10,
        time=800,
        loopCount = 0,
        loopDirection = "bounce"
    }
}
local function woodmaker(event)

 local wood =display.newImageRect(main_area,'wood.png',15,45)
 wood.x=event.x
 wood.y=event.y
 physics_engine.addBody(wood,'kinematic')

end
local cute_charac = display.newSprite( cute_charac_sheet,sequences_cute_charac)

main_area:insert(cute_charac)
cute_charac.x=display.contentCenterX
cute_charac.y=192.55

cute_charac:scale(0.1,0.1)

cute_charac:play()

local back_png= display.newImageRect(background,"Day_Back.png",480,270)
back_png.x=display.contentCenterX
back_png.y=display.contentCenterY
back_png:addEventListener( "tap", woodmaker )

local ground_grass=display.newImageRect(main_area,"grass.png",480,60)
ground_grass.x=display.contentCenterX
ground_grass.y=240

local grass_texture=display.newImageRect(main_area,'grassup.png',480,5)
grass_texture.x=display.contentCenterX
grass_texture.y=210

physics_engine.addBody(cute_charac,"dynamic")
physics_engine.addBody(grass_texture,'static',{bounce=0,})

同时移除 ground_grass 可以解决问题。为什么会出现这种情况

也可以使木板变成 dynamics,它会被推向两侧,如果木板放在中间会向下移动。

点赞