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

相关推荐
一条破秋裤14 小时前
Linux 线程分离与主动取消:pthread_detach、pthread_cancel
java·linux·jvm
JWASX14 小时前
Java 转 go 学习 - 基本语法
学习·golang
茉莉玫瑰花茶15 小时前
OpenGL [ 基础概念 ]
java·前端·数据库
周杰偷奶茶15 小时前
【Java】运算符指南
java·开发语言
随性而行36015 小时前
企业微信二次开发如何接入大模型工具?API接口实现智能任务调用的技术思路
java·前端·人工智能·python·微信·机器人·企业微信
让头发掉下来15 小时前
Kettle学习-17作业的创建与定时调度
学习
小刘在重生~15 小时前
CSS 零基础完整学习笔记|选择器|盒子模型|布局
css·笔记·学习
Json____15 小时前
基于 Spring Boot + Vue3 的在线考试管理系统实战
java·spring boot·后端·it学习·wwwoop.com
weixin_5375904515 小时前
《Spring快速入门到精通》- 实例1.1
java·spring·intellij-idea
AOI小白新手上路15 小时前
韦东山《ARM 架构与编程》3-3 IMX6ULL 的 GPIO 操作方法 · 学习笔记
arm开发·学习·架构