向事件中添加声音效果java.applet.AudioClip

问题描述

按照Java游戏编程书籍(制作Space Invaders克隆)中的教程进行操作-并尝试添加更多功能...目前没有声音,我正尝试添加一些效果(从以前的教程-但在实现它们时遇到了麻烦。

这是我的“资源”类,用于设置要使用的文件

package com.n8skow.game.main;

import java.applet.Applet;
import java.applet.AudioClip;
import java.awt.image.BufferedImage;
import java.net.URL;

import javax.imageio.ImageIO;

public class Resources {
    public static BufferedImage iconimage;
    public static AudioClip hit,fire;

    public static void load() {
        iconimage = loadImage("graphics/iconimage.png");
        hit = loadSound("sounds/hit.wav");
        fire = loadSound("sounds/fire.wav");
    }

    public static AudioClip loadSound(String filename) {
        URL fileURL = null;
        try {
            fileURL = Resources.class.getResource("/" + filename);
            return Applet.newAudioClip(fileURL);
        } catch (Exception e) {
            System.out.println("Error while reading sound file: " + filename);
            e.printstacktrace();
        }
        return null;
    }

    private static BufferedImage loadImage(String filename) {
        BufferedImage img = null;
        try {
            img = ImageIO.read(Resources.class.getResource("/" + filename));
        } catch (Exception e) {
            System.out.println("Error while reading image file: " + filename);
            e.printstacktrace();
        }
        return img;
    }
}

这是我主要游戏代码中的部分,在该部分中,我试图在射击时播放声音效果

lastFire = System.currentTimeMillis();
ShotEntity shot = new ShotEntity(this,"graphics/shot.gif",ship.getX()+10,ship.getY()-30);
entities.add(shot);
Resources.fire.play();

在通过消息调用声音文件时崩溃:

任务:lib:Game.main() 线程“主”中的异常java.lang.NullPointerException

不确定如何使Android Studio提供更多有用的信息...

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)