有一个角色,当从一个瓷砖移动到另一个瓷砖时,有时该角色要么跳过瓷砖多边形的交汇点,要么完全卡住,无法再朝他们前进的方向移动,直到他们退后一步。
(问题视频:https ://www.youtube.com/watch?v=wLAAHyinOVE )
(问题的交互式演示:http: //snkygames.com/InputSceneTest)
有没有其他人遇到过这个问题?任何解决方案建议。
如果我允许身体旋转,问题仍然存在。如果我使用矩形而不是圆形作为多边形,问题仍然存在。
代码:
//character
//material: elasticity=0.650, frictionDynamic=0.570, frictionStatic=1.200, density=1.000, frictionRolling=0.000
<body>.shapes.add(new Circle(16, null, <material>));
var vel:Vec2 = <body>.velocity;
<body>.velocity = Vec2.weak(vel.x + +/-2000.000 * 0.020, vel.y + 0.000);
//nape
<gravity> = new Vec2(0.000, 400.000);
<space>.step(***, 10, 10);
//rectangle tile
//material: elasticity=0.000, frictionDynamic=1.000, frictionStatic=1.000, density=1.000, frictionRolling=0.000
<body>.shapes.add(new Polygon(Polygon.box(<width>, <height>), <material>));