Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.dermetfan.someLibgdxTests.screens
- import com.badlogic.gdx.Gdx
- import com.badlogic.gdx.Screen
- import com.badlogic.gdx.graphics.GL20
- import com.badlogic.gdx.graphics.OrthographicCamera
- import com.badlogic.gdx.graphics.g2d.SpriteBatch
- import com.badlogic.gdx.math.Vector2
- 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.EdgeShape
- import com.badlogic.gdx.physics.box2d.FixtureDef
- import com.badlogic.gdx.physics.box2d.World
- import net.dermetfan.libgdx.graphics.Box2DSprite
- import net.dermetfan.someLibgdxTests.entities.Car
- class XtendTest implements Screen {
- private SpriteBatch batch
- private Box2DDebugRenderer debugRenderer
- private OrthographicCamera camera
- private World world
- private Car car
- override show() {
- batch = new SpriteBatch
- debugRenderer = new Box2DDebugRenderer
- camera = new OrthographicCamera
- world = new World(new Vector2(0, -9.81f), true)
- val chassisFixDef = new FixtureDef
- chassisFixDef.density = 5
- chassisFixDef.friction = 0.4f
- chassisFixDef.restitution = 0.2f
- val wheelFixDef = new FixtureDef
- wheelFixDef.density = chassisFixDef.density * 2
- wheelFixDef.friction = 50
- wheelFixDef.restitution = 0.4f
- car = new Car(world, chassisFixDef, wheelFixDef, 0, 2, 3, 1.25f)
- Gdx.input.inputProcessor = car
- val groundBodyDef = new BodyDef
- groundBodyDef.type = BodyType.StaticBody
- val groundShape = new EdgeShape
- groundShape.set(-500, 0, 500, 0)
- world.createBody(groundBodyDef).createFixture(groundShape, 0)
- }
- override render(float delta) {
- Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT)
- world.step(1 / 60f, 8, 3)
- camera.position.set(car.getChassis.position.x, car.getChassis.position.y, 0)
- camera.update
- batch.projectionMatrix = camera.combined
- batch.begin
- Box2DSprite.draw(batch, world)
- batch.end
- debugRenderer.render(world, camera.combined)
- }
- override resize(int width, int height) {
- camera.viewportWidth = width / 25
- camera.viewportHeight = height / 25
- }
- override hide() {
- dispose
- }
- override pause() {
- }
- override resume() {
- }
- override dispose() {
- batch.dispose
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement