List of usage examples for com.badlogic.gdx.assets AssetManager load
public synchronized void load(AssetDescriptor desc)
From source file:com.badlogic.gdx.spriter.demo.SpriterDemoApp.java
private void changeSpriterFile(SpriterDemoFileHandle file) { AssetManager manager = file.manager; AssetDescriptor<SpriterData> desc = new AssetDescriptor<SpriterData>(file, SpriterData.class); try {//from w w w . j a v a 2 s. c om manager.load(desc); manager.finishLoading(); } catch (GdxRuntimeException ex) { popup("Loading error", ex.getLocalizedMessage()); return; } SpriterData data = manager.get(desc); animators.clear(); for (SpriterEntity entity : data.entities) { // Change toString method for charmaps Array<SpriterCharacterMap> replacements = new Array<SpriterCharacterMap>(); for (SpriterCharacterMap map : entity.characterMaps) { SpriterCharacterMap newMap = new SpriterCharacterMap() { @Override public String toString() { return id + ": " + name; } }; newMap.id = map.id; newMap.name = map.name; newMap.maps = map.maps; replacements.add(newMap); } entity.characterMaps = replacements; SpriterAnimator animator = new SpriterAnimator(entity) { @Override public String toString() { SpriterEntity entity = getEntity(); return entity.id + ": " + entity.name; } }; animator.addAnimationListener(new SpriterAnimationAdapter() { @Override public void onEventTriggered(SpriterAnimator animator, String eventName) { popup("SpriterEvent", eventName); } @Override public void onAnimationFinished(SpriterAnimator animator, SpriterAnimation animation) { if (!animation.looping) animator.play(animation); } }); animators.add(animator); } fileChooser.setSelected(file); entityChooser.setItems(animators); if (animators.size > 0) changeAnimator(animators.first()); }
From source file:net.spookygames.gdx.sfx.demo.GdxSfxDemo.java
License:Open Source License
@Override public void create() { /******************/ /* Initialization */ /******************/ prefs = Gdx.app.getPreferences("GdxSfxDemo"); batch = new SpriteBatch(); Camera camera = new OrthographicCamera(); FileHandleResolver resolver = new AbsoluteFileHandleResolver(); assetManager = new AssetManager(resolver); assetManager.setLoader(SfxMusic.class, new SfxMusicLoader(resolver)); skin = new Skin(Gdx.files.internal("skin/uiskin.json")); player = new SfxMusicPlayer(); /************/ /* Playlist */ /************/ final VerticalGroup playlistGroup = new VerticalGroup(); playlistGroup.fill().left();/*w w w.j av a 2 s.co m*/ final Label invitationLabel = new Label("Add some music and let's have fun", skin, "subtitle"); invitationLabel.setAlignment(Align.center); ScrollPane scrollablePlaylistTable = new ScrollPane(playlistGroup, skin); scrollablePlaylistTable.setScrollingDisabled(true, false); playlistGroup.addActor(invitationLabel); /********/ /* File */ /********/ Button fileFinder = new TextButton("Add music", skin, "round"); fileFinder.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { NativeFileChooserConfiguration conf = new NativeFileChooserConfiguration(); conf.directory = Gdx.files.absolute(prefs.getString("last", Gdx.files.isExternalStorageAvailable() ? Gdx.files.getExternalStoragePath() : (Gdx.files.isLocalStorageAvailable() ? Gdx.files.getLocalStoragePath() : System.getProperty("user.home")))); conf.nameFilter = new FilenameFilter() { final String[] extensions = { "wav", "mp3", "ogg" }; @Override public boolean accept(File dir, String name) { int i = name.lastIndexOf('.'); if (i > 0 && i < name.length() - 1) { String desiredExtension = name.substring(i + 1).toLowerCase(Locale.ENGLISH); for (String extension : extensions) { if (desiredExtension.equals(extension)) { return true; } } } return false; } }; conf.mimeFilter = "audio/*"; conf.title = "Choose audio file"; fileChooser.chooseFile(conf, new NativeFileChooserCallback() { @Override public void onFileChosen(FileHandle file) { if (file == null) return; prefs.putString("last", file.parent().file().getAbsolutePath()); MusicParameters parameters = new MusicParameters(); parameters.title = file.name(); parameters.loadedCallback = new LoadedCallback() { @Override public void finishedLoading(AssetManager assetManager, String fileName, @SuppressWarnings("rawtypes") Class type) { final SfxMusic music = assetManager.get(fileName, SfxMusic.class); if (player.addToPlaylist(music)) { final MusicWidget widget = new MusicWidget(skin, music); playlistGroup.addActor(widget); widget.removeButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { if (player.removeFromPlaylist(music)) widget.remove(); } }); } } }; assetManager.load(new AssetDescriptor<SfxMusic>(file, SfxMusic.class, parameters)); } @Override public void onCancellation() { } @Override public void onError(Exception exception) { } }); } }); /***********/ /* Control */ /***********/ Table controlTable = new Table(skin); final Button playPauseButton = new Button(skin, "music"); playPauseButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { if (playPauseButton.isChecked()) { player.play(); } else { player.pause(); } } }); Button previousButton = new Button(skin, "left"); previousButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { player.previous(); } }); Button nextButton = new Button(skin, "right"); nextButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { player.next(); } }); final Button muteButton = new Button(skin, "sound"); muteButton.setChecked(true); muteButton.addListener(new ChangeListener() { float formerVolume = player.getVolume(); @Override public void changed(ChangeEvent event, Actor actor) { float newVolume; if (muteButton.isChecked()) { // Un-mute newVolume = formerVolume; } else { // Mute formerVolume = player.getVolume(); newVolume = 0f; } player.setVolume(newVolume); } }); final Slider panSlider = new Slider(-1f, 1f, 0.02f, false, skin); panSlider.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { player.setPan(panSlider.getValue()); } }); panSlider.setValue(player.getPan()); final Slider volumeSlider = new Slider(0f, 1f, 0.01f, false, skin); volumeSlider.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { muteButton.setChecked(true); player.setVolume(volumeSlider.getValue()); } }); volumeSlider.setValue(player.getVolume()); final CheckBox shuffleCheckBox = new CheckBox("Shuffle", skin, "switch"); shuffleCheckBox.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { player.setShuffleEnabled(shuffleCheckBox.isChecked()); } }); shuffleCheckBox.setChecked(player.isShuffleEnabled()); final CheckBox repeatCheckBox = new CheckBox("Repeat", skin, "switch"); repeatCheckBox.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { player.setRepeatEnabled(repeatCheckBox.isChecked()); } }); repeatCheckBox.setChecked(player.isRepeatEnabled()); final Table fadeTable = new Table(skin); final Label fadeDurationLabel = new Label("0.0s", skin); final Slider fadeDurationSlider = new Slider(0.1f, 5f, 0.1f, false, skin); fadeDurationSlider.addListener(new ChangeListener() { String format = "%.1fs"; @Override public void changed(ChangeEvent event, Actor actor) { float value = fadeDurationSlider.getValue(); player.setFadeDuration(value); fadeDurationLabel.setText(String.format(format, value)); } }); fadeDurationSlider.setValue(player.getFadeDuration()); final SelectBox<String> fadeInterpolationSelectBox = new SelectBox<String>(skin); final ObjectMap<String, Interpolation> interpolations = new ObjectMap<String, Interpolation>(); interpolations.put("Linear", Interpolation.linear); interpolations.put("Fade", Interpolation.fade); interpolations.put("Circle", Interpolation.circle); interpolations.put("Sine", Interpolation.sine); interpolations.put("Bounce", Interpolation.bounce); interpolations.put("Elastic", Interpolation.elastic); interpolations.put("Swing", Interpolation.swing); fadeInterpolationSelectBox.setItems(interpolations.keys().toArray()); fadeInterpolationSelectBox.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { player.setFadeInterpolation(interpolations.get(fadeInterpolationSelectBox.getSelected())); } }); fadeTable.defaults().left().pad(1f); fadeTable.row(); fadeTable.add("Duration"); fadeTable.add(fadeDurationSlider).expandX().fill(); fadeTable.add(fadeDurationLabel).width(40); fadeTable.row(); fadeTable.add("Interpolation"); fadeTable.add(fadeInterpolationSelectBox).colspan(2).expandX().fill(); final CheckBox fadeCheckBox = new CheckBox("Fade", skin, "switch"); fadeCheckBox.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { boolean fade = fadeCheckBox.isChecked(); player.setFadingEnabled(fade); fadeTable.setVisible(fade); } }); fadeCheckBox.setChecked(player.isFadingEnabled()); fadeTable.setVisible(player.isFadingEnabled()); controlTable.defaults().padTop(4f); controlTable.row().colspan(3); controlTable.add(shuffleCheckBox).left(); controlTable.row().colspan(3); controlTable.add(repeatCheckBox).left(); controlTable.row().colspan(3); controlTable.add(fadeCheckBox).left(); controlTable.row().colspan(3); controlTable.add(fadeTable); controlTable.row(); controlTable.add("Pan"); controlTable.add(panSlider).colspan(2); controlTable.row().colspan(3); controlTable.add().expand(); controlTable.row(); controlTable.add(previousButton).right(); controlTable.add(playPauseButton); controlTable.add(nextButton).left(); controlTable.row(); controlTable.add("Volume"); controlTable.add(volumeSlider).colspan(2); controlTable.row(); controlTable.add("Mute"); controlTable.add(muteButton).colspan(2).left(); /*********/ /* Debug */ /*********/ Label debugLabel = new Label("", skin) { @Override public void act(float delta) { setText(player.toString()); super.act(delta); } }; /***************/ /* Stage setup */ /***************/ Table leftTable = new Table(skin); leftTable.row(); leftTable.add(scrollablePlaylistTable).expand().fillX().top(); leftTable.row(); leftTable.add(debugLabel).expandX().left().padLeft(30f).padTop(8f); Table rightTable = new Table(skin); rightTable.row(); rightTable.add(controlTable).expandY().fill(); rightTable.row(); rightTable.add(fileFinder).padTop(10f); Table rootTable = new Table(skin); rootTable.setFillParent(true); rootTable.row(); rootTable.add(leftTable).expand().fill(); rootTable.add(rightTable).expandY().fill().padTop(25f).padLeft(8f); stage = new Stage(new ScreenViewport(camera), batch); stage.addActor(rootTable); /*********/ /* Input */ /*********/ Gdx.input.setInputProcessor(stage); }