@Override public void render() { delta = Gdx.graphics.getDeltaTime() * 60; Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); camera.update(); player.update(delta); if (player.atLimit()) backgroundPos -= 20 * delta; else backgroundPos -= 10 * delta; if (backgroundPos <= -background.getHeight()) backgroundPos = 0; spriteBatch.setProjectionMatrix(camera.combined); spriteBatch.begin(); spriteBatch.draw(background, -1080 / 2, +background.getHeight() / 2 + backgroundPos); spriteBatch.draw(background, -1080 / 2, -background.getHeight() / 2 + backgroundPos); player.draw(spriteBatch); enemies.update(spriteBatch, delta); tweenManager.update(delta / 60); spriteBatch.end(); rayHandler.setCombinedMatrix(camera.combined); rayHandler.updateAndRender(); controls.handleInput(camera); }
public void render() { Gdx.gl.glClearColor(.2f, .2f, .2f, 1); // 0->1 = 0->255 Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); rayHandler.updateAndRender(); if (this.started) { float deltaTime = Gdx.app.getGraphics().getDeltaTime(); if (deltaTime > .1f) deltaTime = .1f; world.step(deltaTime, 10, 10); // Increase the score score.addValue((int) this.joe.getSpeed() * 10 * Gdx.app.getGraphics().getDeltaTime()); joe.render(); if (joe.isOutOfScreen()) { this.Pause(); RunningJoe.getInstance().setScreen(new GameOverScreen()); } this.camera.translate(RunningJoe.PixToMeter(this.joe.getSpeed()), 0); } camera.update(); if (RunningJoe.DEV_MODE) RunningJoe.debugRenderer.render(world, camera.combined); // Draw bodies textures spriteBatch.begin(); for (Background bg : this.vecBg) { bg.DrawTexture(spriteBatch); } // Draw Joe in the World joe.draw(spriteBatch); // Generate ground and draw it in the World this.listBlock.render(); this.listBlock.draw(spriteBatch); this.obstacleFactory.generateRjObstacles(this, spriteBatch); fire.draw(spriteBatch); foreground.DrawTexture(spriteBatch); spriteBatch.end(); }
public void Update(float delta) { if (m_FadeIn < 1) { m_FadeIn += delta / 10; m_BackgroundMusic.setVolume(m_GameScreen.m_Settings.m_BackgroundMusicVolume * m_FadeIn); } // update and render the tilemap m_TiledMapRenderer.setView(m_GameScreen.m_Camera); m_TiledMapRenderer.render(); // update physics system m_PhysicsWorld.step(1f / 60f, 6, 2); // update and render the artemis entity system m_ArtemisWorld.setDelta(delta); m_ArtemisWorld.process(); m_SpineRenderSystem.process(); m_GameScreen.m_Camera.update(); m_GameScreen.GetSpriteBatch().setProjectionMatrix(m_GameScreen.m_Camera.combined); // update the player's light distance from watch float distance = 225; if (!m_WatchSpine.m_State.getAnimation().getName().contentEquals("tick")) { m_ClockTicking = false; } if (m_WatchSpine.m_State.getAnimation().getName().contentEquals("tick")) { if (!m_ClockTicking) { m_ClockTick.play(m_GameScreen.m_Settings.m_GameSoundVolume / 2); m_ClockTicking = true; } float time = m_WatchSpine.m_State.getTime(); if (time < 10.0f) { float timePercentageComplete = (10 - time) / 10.0f; distance += (timePercentageComplete * 300); m_LightPowerDistance = timePercentageComplete * 300; } } else if (m_WatchSpine.m_State.getAnimation().getName().contentEquals("wind")) { float time = m_WatchSpine.m_State.getTime(); float timePercentageComplete = time / m_WatchSpine.m_State.getAnimation().getDuration(); distance += (timePercentageComplete * 300); m_LightPowerDistance = timePercentageComplete * 300; } // update the players light distance sensor m_PlayerEntity .m_LightDistanceSensor .getShape() .setRadius((m_LightPowerDistance * WORLD_TO_BOX) / 2); if (m_PlayerEntity.m_Entity != null) { BodyComponent bodyComponent = m_PlayerEntity.m_Entity.getComponent(BodyComponent.class); if (bodyComponent != null) { bodyComponent.m_Light.setDistance(distance * WORLD_TO_BOX); } } // render the lighting m_RayHandler.setCombinedMatrix(m_GameScreen.m_Camera.combined.scl(BOX_TO_WORLD)); m_RayHandler.updateAndRender(); // draw border m_BorderSprite.setColor(1, 1, 1, m_FadeIn * 0.5f); m_BorderSprite.setPosition( m_GameScreen.m_Camera.position.x - 400, m_GameScreen.m_Camera.position.y - 300); m_GameScreen.GetSpriteBatch().begin(); m_BorderSprite.draw(m_GameScreen.GetSpriteBatch()); m_GameScreen.GetSpriteBatch().end(); // draw the vials m_VialOne.m_Skeleton.getColor().set(1, 1, 1, m_FadeIn * 0.75f); m_VialOne.m_Skeleton.setX(m_GameScreen.m_Camera.position.x - 375); m_VialOne.m_Skeleton.setY(m_GameScreen.m_Camera.position.y - 275); m_VialOne.m_Skeleton.getRootBone().setRotation(m_VialOne.m_Rotation); m_VialOne.m_State.update(Gdx.graphics.getDeltaTime()); m_VialOne.m_State.apply(m_VialOne.m_Skeleton); m_VialOne.m_Skeleton.updateWorldTransform(); m_VialTwo.m_Skeleton.getColor().set(1, 1, 1, m_FadeIn * 0.75f); m_VialTwo.m_Skeleton.setX(m_GameScreen.m_Camera.position.x - 305); m_VialTwo.m_Skeleton.setY(m_GameScreen.m_Camera.position.y - 275); m_VialTwo.m_Skeleton.getRootBone().setRotation(m_VialTwo.m_Rotation); m_VialTwo.m_State.update(Gdx.graphics.getDeltaTime()); m_VialTwo.m_State.apply(m_VialTwo.m_Skeleton); m_VialTwo.m_Skeleton.updateWorldTransform(); m_VialThree.m_Skeleton.getColor().set(1, 1, 1, m_FadeIn * 0.75f); m_VialThree.m_Skeleton.setX(m_GameScreen.m_Camera.position.x - 390); m_VialThree.m_Skeleton.setY(m_GameScreen.m_Camera.position.y - 205); m_VialThree.m_Skeleton.getRootBone().setRotation(m_VialThree.m_Rotation); m_VialThree.m_State.update(Gdx.graphics.getDeltaTime()); m_VialThree.m_State.apply(m_VialThree.m_Skeleton); m_VialThree.m_Skeleton.updateWorldTransform(); // draw watch last m_WatchSpine.m_Skeleton.setX(m_GameScreen.m_Camera.position.x + 300); m_WatchSpine.m_Skeleton.setY(m_GameScreen.m_Camera.position.y + 200); m_WatchSpine.m_State.update(Gdx.graphics.getDeltaTime()); m_WatchSpine.m_State.apply(m_WatchSpine.m_Skeleton); m_WatchSpine.m_Skeleton.updateWorldTransform(); m_GameScreen.GetSpriteBatch().begin(); m_SpineRenderSystem.m_Renderer.draw(m_GameScreen.GetSpriteBatch(), m_VialOne.m_Skeleton); m_SpineRenderSystem.m_Renderer.draw(m_GameScreen.GetSpriteBatch(), m_VialTwo.m_Skeleton); m_SpineRenderSystem.m_Renderer.draw(m_GameScreen.GetSpriteBatch(), m_VialThree.m_Skeleton); m_SpineRenderSystem.m_Renderer.draw(m_GameScreen.GetSpriteBatch(), m_WatchSpine.m_Skeleton); m_GameScreen.GetSpriteBatch().end(); }