2
Box2d 본문에 스프라이트를 적용하는 방법을 알고 있지만 텍스처를 적용하는 방법이 있습니까? 기본적으로 내가 뭘하려고 오전 한 질감을 가지고하는 것입니다, 그냥이 이미지에서 땅처럼 몸이 모든 것을 반복 한 후 32 × 32 등을 가정 해 봅시다 :텍스처가있는 Box2D 바디?
는 LibGDX이 가능합니까?
편집 :
내 최신 시도 :
Fixture fixture = body.createFixture(fixtureDef);
Vector2 mTmp = new Vector2();
PolygonShape shape = (PolygonShape) fixture.getShape();
int vertexCount = shape.getVertexCount();
float[] vertices = new float[vertexCount * 2];
for (int k = 0; k < vertexCount; k++) {
shape.getVertex(k, mTmp);
mTmp.rotate(body.getAngle()* MathUtils.radiansToDegrees);
mTmp.add(body.getPosition());
vertices[k * 2] = mTmp.x * PIXELS_PER_METER;
vertices[k * 2 + 1] = mTmp.y * PIXELS_PER_METER;
}
short triangles[] = new EarClippingTriangulator().computeTriangles(vertices).toArray();
Texture texture = new Texture(Gdx.files.internal("data/block.png"));
texture.setFilter(TextureFilter.Linear, TextureFilter.Linear);
TextureRegion textureRegion = new TextureRegion(texture, 0, 0, texture.getWidth(), texture.getHeight());
PolygonRegion region = new PolygonRegion(textureRegion, vertices, triangles);
poly = new PolygonSprite(region);
와의
렌더링 :polyBatch.begin();
poly.draw(polyBatch);
polyBatch.end();
하지만 아무것도 그리지 않습니다.
하나의 다각형 (빨간색 원 안에 표시) 텍스처를 가져옵니다
수준의 다른 모양을 가져온 후,이 결과를 얻을. 전체 레벨을 JSON 파일로 가져옴
하지만 난 정점과 삼각형으로 내 Box2D의 지상 다각형을 변환 어떻게? –
@RohitMalish http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/math/EarClippingTriangulator.html – noone
@RohitMalish는 위의 요구 사항에 맞는 코드를 사용합니다. –