libgdx には、AssetManager 用の ParticleEffectLoader がありません。そのため、パーティクル エフェクト用のローダーを作成します。しかし、常にエラーが発生し、ファイルを読み込めません。
問題を解決するのを手伝ってくれる人や、成功したパーティクル エフェクト ローダーを教えてくれる人はいますか? どうもありがとうございました!
私のコード:
package com.game.data;
import com.badlogic.gdx.assets.AssetDescriptor;
import com.badlogic.gdx.assets.AssetLoaderParameters;
import com.badlogic.gdx.assets.AssetManager;
import com.badlogic.gdx.assets.loaders.AsynchronousAssetLoader;
import com.badlogic.gdx.assets.loaders.FileHandleResolver;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.graphics.g2d.ParticleEffect;
import com.badlogic.gdx.utils.Array;
public class ParticleEffectLoader extends
AsynchronousAssetLoader<ParticleEffect, AssetLoaderParameters<ParticleEffect>>{
ParticleEffect particleEffect;
public ParticleEffectLoader (FileHandleResolver resolver) {
super(resolver);
if(particleEffect==null){
particleEffect=new ParticleEffect();
}
}
@Override
public void loadAsync(AssetManager manager, String fileName,
AssetLoaderParameters<ParticleEffect> parameter) {
System.out.println("loadAsync");
FileHandle particleFile = resolve(fileName);
particleEffect.loadEmitters(particleFile);
particleEffect.loadEmitterImages(imagesDir);
}
@Override
public ParticleEffect loadSync(AssetManager manager, String fileName,
AssetLoaderParameters<ParticleEffect> parameter) {
System.out.println("loadSync");
return particleEffect;
}
@Override
public Array<AssetDescriptor> getDependencies(String fileName,
AssetLoaderParameters<ParticleEffect> parameter) {
System.out.println("getDependencies");
// FileHandle imagesDir = resolve("res/");
// particleEffect.loadEmitterImages(imagesDir);
return null;
}
}