Box2DDebugRenderer中的libGDX Strange Dot

时间:2015-10-16 13:11:26

标签: java android libgdx box2d

我创建的Body对象无法与地面精确碰撞。它们之间有奇怪的点(。)。

这里的照片: enter image description here enter image description here

这是我创建Body对象的脚本:

BodyDef bodyDef = new BodyDef();
bodyDef.position.set(Static.toMeter(128), Static.toMeter(128));
bodyDef.type = BodyDef.BodyType.DynamicBody;
body = world.createBody(bodyDef);

// Define mario shape
PolygonShape shape = new PolygonShape();
shape.setAsBox(Static.toMeter(32) / 2, Static.toMeter(32) / 2);

FixtureDef fixture = new FixtureDef();
fixture.shape = shape;

body.createFixture(fixture);
body.setUserData(this);

为什么会这样?

我创造了什么问题吗?

我在线检查了一些例子并没有显示点。

更新:

public static final int WIDTH = 800;
public static final int HEIGHT = 600;
public static final float PIXEL_TO_METER = 1/300f;
public static final float METER_TO_PIXEL = 300;

2 个答案:

答案 0 :(得分:0)

默认情况下,box2d调试渲染器渲染所有box2d,这意味着渲染灯具,关节等,请参阅构造函数:

In the cshtml file:
@Html.UploadFor(model=> model.Attachment)

static public class HtmlExtensions
{
    public static IHtmlString UploadFor<TSource, TResult>(this HtmlHelper<TSource> html, Expression<Func<TSource, TResult>> propertyExpression)
    {
        var memberName = Reflection.GetPropertyName(propertyExpression);
        return new HtmlString($"<input type=\"file\" name=\"{memberName}\" id=\"{memberName}\">");
    }
}

class Reflection
{
    public static string GetPropertyName<TSource, TResult>(Expression<Func<TSource, TResult>> propertyExpression)
    {
        return (propertyExpression.Body as MemberExpression).Member.Name;
    }
}

这个小点是联系人。

答案 1 :(得分:-1)

基本上我只是将转换设置为大。 300像素= 1米。

当我在100像素= 1米以下更改它时。它工作正常。所以,我改为:

public static final float PIXEL_TO_METER = 1/64f;
public static final float METER_TO_PIXEL = 64;