Java Swing游戏开发学习7

内容来自RyiSnow视频讲解

这一节实现的是背景音乐和音效的播放。

在这里,背景音乐和音效所用的音频文件均为wav格式文件。Java SDK默认支持的格式有限,默认不支持mp3格式音乐。

背景音乐、拾取钥匙、拾取靴子、开门分别有对应的音频文件。

作者的实现

java 复制代码
public class Sound {
    Clip clip;
    URL soundURL[] = new URL[30];

    public Sound() {
        soundURL[0] = getClass().getResource("/sound/BlueBoyAdventure.wav");
        soundURL[1] = getClass().getResource("/sound/coin.wav");
        soundURL[2] = getClass().getResource("/sound/powerup.wav");
        soundURL[3] = getClass().getResource("/sound/unlock.wav");
        soundURL[4] = getClass().getResource("/sound/fanfare.wav");
    }

    public void setFile(int i) {
        try {
            AudioInputStream ais = AudioSystem.getAudioInputStream(soundURL[i]);
            clip = AudioSystem.getClip();
            clip.open(ais);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void play() {
        clip.start();
    }

    public void loop() {
        clip.loop(Clip.LOOP_CONTINUOUSLY);
    }

    public void stop() {
        clip.stop();
    }
}

上述代码在调用的时候,可以正常播放音乐和音效,但是会产生一个bug,不妨找一下是什么bug。下一节将解决这个bug。
下一节将实现first half(是第一半的意思吗,不是,前半局的意思)的最后一个功能,On-Screen UI,就是类似超级玛丽游戏中,左上角、右上角显示的倒计时,获得的分数,拥有的道具物品之类的功能。代码参考之前文章中的链接。

相关推荐
wind100321 分钟前
三角洲行动加载 xinput1_4.dll 失败?完整修复教程|启动报错、无法进入游戏解决
游戏·电脑
wind100322 分钟前
Qt5Widgets.dll 缺失报错|游戏软件无法启动完整修复教程
开发语言·qt·游戏·电脑
石头猫灯4 分钟前
一次 CMS 被黑实录:完整事件思路梳理
android·学习
AIkk8610 分钟前
2026AI智能体培训机构客观测评|零基础到进阶全方位择校指南
学习
我叫张土豆11 分钟前
在 OpenClaw Java 对话框输入一句话后,系统是如何运行的?
java·开发语言·人工智能
_ZHOURUI_H_18 分钟前
Unity EasyECS:并不是所有字段都适合 SoA,Unity 项目中应该怎样拆数据
游戏·unity·性能优化·架构·游戏引擎
liangbo719 分钟前
JVM规范第 4 章:class 文件格式
java·jvm
橘子汽水16820 分钟前
Leetcode 236,437:二叉树的最近公共祖先,路径总和III
java·数据结构
数据狐(Datafox)27 分钟前
1688商品详情API技术解析与落地应用(含标准 JSON 示例)
java·数据库·json
M78佐菲28 分钟前
Linux学习笔记:进程回收、exec函数簇与线程
linux·笔记·学习·算法