Есть персонаж, когда при перемещении по одной плитке к другой иногда персонаж либо перепрыгивает через точку встречи полигонов плитки, либо полностью застревает и больше не может двигаться в направлении, в котором он двигался, пока не сделает шаг назад.
(видео выпуска: 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>));