@Override public void render(GameContainer gc, StateBasedGame sbg, Graphics g) throws SlickException { if (map != null) super.render(gc, sbg, g); font.drawString(4 * gc.getWidth() / 5, 30, "" + Globals.score); Utils.drawCenteredString( g, "Cursors - Move Ctrl - Jump B - Show Bounds R - Restart", gc.getWidth(), gc.getHeight() - 20, Color.black); /*for (int i = 0; i < map.getWorld().getBodies().size(); i++) { if (map.getEntityByBody(map.getWorld().getBodies().get(i)) instanceof HomerIA) { sound.setSourcePosition((map.getEntityByBody( map.getWorld().getBodies().get(i)).getX() - map .getEntityByBody(map.getWorld().getBodies().get(i)) .getWidth() / 2), (map.getEntityByBody( map.getWorld().getBodies().get(i)).getY() - map .getEntityByBody(map.getWorld().getBodies().get(i)) .getHeight() / 2), 0f); } }*/ // We put the openAl listener's position and velocity AlUtils.setAlListenerPosition( Globals.player.getX() - Globals.player.getWidth() / 2, Globals.player.getY() - Globals.player.getHeight() / 2, 0.0f); AlUtils.setAlListenerVelocity(Globals.player.getVelX() * 5, -Globals.player.getVelY(), 0.0f); // sound.setSourceVelocity(10f, 0f, 0f, soundIndex); // AlUtils.resetAlListener(); if (AL10.alGetError() != AL10.AL_NO_ERROR) System.out.println("Erreur d'OpenAL" + AL10.alGetError()); // Environment sounds if (soundWalk != null) soundWalk(); soundBump(); soundGround(); soundJump(); // we execute permanentSound method for all the enemy for (int i = 0; i < map.getWorld().getBodies().size(); i++) { if (map.getEntityByBody(map.getWorld().getBodies().get(i)) instanceof Enemy) { ((Enemy) map.getEntityByBody(map.getWorld().getBodies().get(i))).permanentSound(i); } } // the help sound if executed helpSound.setSourcePosition( Globals.player.getX() - Globals.player.getWidth() / 2, Globals.player.getY() - Globals.player.getHeight() / 2, 0.0f); }