Corona SDK 中带有自定义形状的Physics.addBody()

发布于 2025-01-05 20:19:49 字数 99 浏览 1 评论 0原文

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

Does the physics.addBody() only work with Circles and Rectangles? Or is it possible to physics.addBody() on vector shapes or sprites or with masks or something?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

各自安好 2025-01-12 20:19:49

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

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 条边。

It is possible to do with sprites and shapes, see here.

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} )

the shapes must be convex and consists of less than 8 sides.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文