Vector physics.addBody()在Corona SDK中具有自定义形状

Vector physics.addBody()在Corona SDK中具有自定义形状,vector,lua,collision-detection,coronasdk,Vector,Lua,Collision Detection,Coronasdk,physics.addBody()是否仅适用于圆和矩形?或者可以在矢量形状或精灵或带有遮罩或其他东西上使用physics.addBody()吗?可以使用精灵和形状,请参阅 这些形状必须是凸面的,并且由不到8条边组成。啊,我怎么会错过这个,我必须在早上6点之前停止工作。非常感谢@cctan!你说它可能与精灵有关,这是否意味着你可以使用png,并且说,任何超过0 alpha的东西都是身体的一部分,你明白我的意思吗?@MathiasMadsenStav据我所知,就你的情况而言,是我得到的最接近的解决方

physics.addBody()
是否仅适用于圆和矩形?或者可以在矢量形状或精灵或带有遮罩或其他东西上使用
physics.addBody()
吗?

可以使用精灵和形状,请参阅


这些形状必须是凸面的,并且由不到8条边组成。

啊,我怎么会错过这个,我必须在早上6点之前停止工作。非常感谢@cctan!你说它可能与精灵有关,这是否意味着你可以使用png,并且说,任何超过0 alpha的东西都是身体的一部分,你明白我的意思吗?@MathiasMadsenStav据我所知,就你的情况而言,是我得到的最接近的解决方案。
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} )