Problem with scale.

I have a problem with scale in box2d and libgdx, I’m trying to put a image (sprite or texture or other, the case is dot I need put a image in a body) in a body, but the image don’t show correctly.

When I run the game pass this:

My class:

BaseClass.java


package com.unclain.serie2.a;

import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Input.Keys;
import com.badlogic.gdx.Screen;
import com.badlogic.gdx.graphics.GL10;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.math.MathUtils;
import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.physics.box2d.Body;
import com.badlogic.gdx.physics.box2d.BodyDef;
import com.badlogic.gdx.physics.box2d.BodyDef.BodyType;
import com.badlogic.gdx.physics.box2d.Box2DDebugRenderer;
import com.badlogic.gdx.physics.box2d.CircleShape;
import com.badlogic.gdx.physics.box2d.Fixture;
import com.badlogic.gdx.physics.box2d.FixtureDef;
import com.badlogic.gdx.physics.box2d.PolygonShape;
import com.badlogic.gdx.physics.box2d.World;
import com.badlogic.gdx.scenes.scene2d.Stage;
import com.badlogic.gdx.scenes.scene2d.ui.Label;

public class Base implements Screen{

	private static final float QUIBBY_WIDTH = 8;
	
	private World world;
	private OrthographicCamera camera;
	private Box2DDebugRenderer renderer;
	private Body bcirculo;
	
	private Texture texture;
	private SpriteBatch sb;
	private Sprite s;
	
	private static final float MUNDO_A_BOX = 0.01f;
	private static final float BOX_DEL_MUNDO = 100f;
	
	private Vector2 quibbyModelOrigin;
	
	private Body quibby;
	
	public void render(float delta) {
		Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
		Gdx.gl.glClearColor(0, 0.5f, 0, 1);
		
		float tw = Gdx.graphics.getWidth();
		float th = Gdx.graphics.getHeight();
		
		camera = new OrthographicCamera(tw / 2, th / 2);
		
		renderer = new Box2DDebugRenderer();
		
		renderer.render(world, camera.combined);
		
		world.step(1/40f, 6, 6);
		
		if(Gdx.input.isKeyPressed(Keys.D)){
			bcirculo.setLinearVelocity(new Vector2(50f, 0));
		}
		
		else if(Gdx.input.isKeyPressed(Keys.A)){
			bcirculo.setLinearVelocity(new Vector2(-50f, 0));
		}
		
		else if(Gdx.input.isKeyPressed(Keys.S)){
			bcirculo.setLinearVelocity(new Vector2(0, -50f));
		}
		
		else if(Gdx.input.isKeyPressed(Keys.W)){
			bcirculo.setLinearVelocity(new Vector2(0, 50f));		
		}
		
		else if(Gdx.input.isKeyPressed(Keys.R)){
			quibby.setLinearVelocity(new Vector2(0, 50f));
			s.setRotation(0);
		}
		
		else if(Gdx.input.isKeyPressed(Keys.UP)){
			quibby.setLinearVelocity(new Vector2(0, 50f));
		}
		
		else if(Gdx.input.isKeyPressed(Keys.DOWN)){
			quibby.setLinearVelocity(new Vector2(0, -50f));
		}
		
		else if(Gdx.input.isKeyPressed(Keys.RIGHT)){
			quibby.setLinearVelocity(new Vector2(50f, 0));
		}
		
		else if(Gdx.input.isKeyPressed(Keys.LEFT)){
			quibby.setLinearVelocity(new Vector2(-50f, 0));
		}
		
		sb = new SpriteBatch();
		sb.begin();
		s.draw(sb);
		sb.end();
		
		Vector2 bottlePos = quibby.getPosition().sub(quibbyModelOrigin);
		 
	    s.setPosition(bottlePos.x + s.getWidth() * 2, bottlePos.y + s.getHeight() * 2);
	    //s.setRegion(0, 0, 115, 135);
	    s.setOrigin(quibbyModelOrigin.x, quibbyModelOrigin.y);
	    s.setRotation(quibby.getAngle() * MathUtils.radiansToDegrees);
	    
	}

	public void resize(int width, int height) {
		
	}

	public void show() {
		world = new World(new Vector2(0, -60), true);
		camera = new OrthographicCamera(Gdx.graphics.getWidth() / 2, Gdx.graphics.getHeight() / 2);
		
		BodyDef bdsuelo = new BodyDef();
		bdsuelo.position.set(new Vector2(0, -70));
		
		Body bsuelo = world.createBody(bdsuelo);
		
		PolygonShape ssuelo = new PolygonShape();
		ssuelo.setAsBox((camera.viewportWidth) * 2, 10.0f);
		
		bsuelo.createFixture(ssuelo, 0.0f);
		
		ssuelo.dispose();
		
		BodyDef bdcirculo = new BodyDef();
		bdcirculo.type = BodyType.DynamicBody;
		bdcirculo.position.set(new Vector2(0, 10));
		
		bcirculo = world.createBody(bdcirculo);
		
		CircleShape scircle = new CircleShape();
		scircle.setRadius(5.4f);
		
		FixtureDef fdcircle = new FixtureDef();
		fdcircle.density = 0.6f;
		fdcircle.friction = 0.5f;
		fdcircle.restitution = 0.5f;
		fdcircle.shape = scircle;
		
		Fixture fcircle = bcirculo.createFixture(fdcircle);
		
		texture = new Texture(Gdx.files.internal("MuñecoFeo256x256.png"));
		
		s = new Sprite(texture);
		
		scircle.dispose();
		
		crearQuibby();
		
	}
	
	public void crearQuibby(){
		BodyEditorLoaderFix loader = new BodyEditorLoaderFix(Gdx.files.internal("data/Serie2b.json"));
		
		BodyDef bd = new BodyDef();
		bd.type = BodyType.DynamicBody;
		
		FixtureDef fd = new FixtureDef();
		fd.density = 1;
		fd.friction = 0.5f;
		fd.restitution = 0.3f;
		
		quibby = world.createBody(bd);
		quibby.setUserData(s);
		
		loader.attachFixture(quibby, "MuñecoFeo.png", fd, QUIBBY_WIDTH);
		quibbyModelOrigin = loader.getOrigin("MuñecoFeo.png", QUIBBY_WIDTH).cpy();
	}


	public void hide() {
		
	}

	public void pause() {
		
	}

	public void resume() {
		
	}

	public void dispose() {
		
	}
	
	
	
}

I triyed many options, but I can’t put the image in the body…

My head will be exploded ???

Atte: A noob with Box2D.

P.D: I’m spanish. :persecutioncomplex: