物体通过关节定位。
2014-9-4 2:25:32
收藏:0
阅读:113
评论:1
我不知道如何在标题中最好描述这个问题,但我会向您展示图片来说明我的意思。


(1)图片1显示了我遇到的问题;
(2)图片2显示了我想要实现的内容。
——问题——
正如您所见,我试图让这3个块对齐,除了那个 extrudes 出来的尖刺。当我在 corona 中设置这个时,它会按高度对齐图像。
这是我的 spawn 函数:
function createBlock(event)
b = display.newImageRect("images/Spike.png", 37,80)
b.x = display.contentWidth + 100
b.y = math.random(2) == 1 and display.contentCenterY -75 or display.contentCenterY +40
b.rotation = math.random(2) == 1 and 0 or 180
b.name = 'block'
physics.addBody( b, "static", physicsData:get("Spike"))
blocks:insert(b)
end
编辑:
function check( event )
if b.rotation == 180 then
b.y = math.random(2) == 1 and display.contentCenterY - 80 or display.contentCenterY + 30
end
end
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
如果物体的高度为H,尖头的高度为S(因此3个方块的高度为H-S),并且您将它们当前放置在Y位置,其中Y朝向屏幕底部增加,物体的原点位于底部最低的方块(尖头相反),它们的默认方向是向上,那么:
如果第一段中的任何条件不同,您将需要进行相应的调整,但是希望这可以说明如何解决。
更新:
可能更好的方法是将锚点移动到中间方块的中心。默认情况下,锚点在0.5处,因此将其放置在第2个和第3个方块之间(假设距离尖的最远的方块是“第一个方块”)。由于您的块由4个单元格(3个方块和一个尖)组成,因此您可以执行以下操作:
function createBlock(event) local H = 80 local b = display.newImageRect("images/Spike.png", 37, H) b.x = display.contentWidth + 100 -- NOTE: weird, doesn't this put the obj off screen? local cellH = H/4 -- assume all four cells in a Block have this height b.anchorY = 0.5 - 0.25/2 -- each cell is 0.25 of height, need half that, away from spike b.rotation = math.random(2) == 1 and 0 or 180 -- will rotate around the new anchorY local posY = display.contentCenterY - 75 b.y = math.random(2) == 1 and posY or posY + 115 b.name = 'block' physics.addBody( b, "static", physicsData:get("Spike")) blocks:insert(b) end请注意,根据您创建图像的方式,
b.anchorY可能是b.anchorY = 0.5 + 0.25/2,但它应该是+或- 1/8。