phys.addBody () с пользовательскими фигурами в Corona SDK - PullRequest
0 голосов
/ 15 февраля 2012

physics.addBody() работает только с кругами и прямоугольниками? Или возможно physics.addBody() на векторных фигурах или спрайтах или с масками или чем-то еще?

1 Ответ

1 голос
/ 15 февраля 2012

Можно делать со спрайтами и формами, см. здесь .

local physics=require("physics")
physics.start()
physics.setDrawMode("hybrid")
local obj=display.newRect(160,600,50,50)
physics.addBody(obj,"static", {density=0.1,friction=0.1} )

local obj=display.newCircle(90,500,50)
physics.addBody(obj, "static", {density=0.1,friction=0.1,radius=50} )

--equilateral triangle physics object
local rad=30/360*2*math.pi
local xHalfLen=80*math.sin(rad)
local yLen=80*math.cos(rad)

local obj=display.newLine(100,100, 100+xHalfLen,100+yLen)
obj:append(100-xHalfLen,100+yLen, 100,100)
obj.width=3
obj:setColor(255,120,120)

local triangleShape={0,0, xHalfLen,yLen, -xHalfLen,yLen}    
--center of object is at top of triangle
physics.addBody(obj, {density=0.1,friction=0.1,shape=triangleShape} )

формы должны быть выпуклыми и состоять из менее чем 8 сторон.

...