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,就是类似超级玛丽游戏中,左上角、右上角显示的倒计时,获得的分数,拥有的道具物品之类的功能。代码参考之前文章中的链接。

相关推荐
SpiderPex21 小时前
论MyBatis和JPA权威性
java·mybatis
小猪咪piggy21 小时前
【微服务】(1) Spring Cloud 概述
java·spring cloud·微服务
lkbhua莱克瓦2421 小时前
Java基础——面向对象进阶复习知识点8
java·笔记·github·学习方法
m0_7369270421 小时前
Spring Boot自动配置与“约定大于配置“机制详解
java·开发语言·后端·spring
GL-Yang1 天前
2025年-集合类面试题
java·面试
你不是我我1 天前
【Java 开发日记】我们来说一说 Redisson 的原理
java·开发语言
李憨憨1 天前
Java处理大型 Excel 文件(超过 100 万行)难题
java
QT 小鲜肉1 天前
【数据结构与算法基础】05. 栈详解(C++ 实战)
开发语言·数据结构·c++·笔记·学习·算法·学习方法
老K的Java兵器库1 天前
Collections 工具类 15 个常用方法源码:sort、binarySearch、reverse、shuffle、unmodifiableXxx
java·开发语言·哈希算法
武子康1 天前
Java-153 深入浅出 MongoDB 全面的适用场景分析与选型指南 场景应用指南
java·开发语言·数据库·mongodb·性能优化·系统架构·nosql