我早些时候发布了这个,但它并不完全符合stackoverflow标准。我清理了代码并进一步阐明了我的问题,所以这里是:
我正在为一个 CS1 项目的小程序制作一个两人小行星游戏。我试图弄清楚如何使用我可以在某些时候调用的方法来实现音效。我发现本教程(http://www.dreamincode.net/forums/topic/14083-incredibly-easy-way-to-play-sounds/)就是这样做的,但我在嵌套循环时遇到了一些问题句法。
如何从不同的类(在我的例子中为 AsteroidsGame.java)在 Sound 类中构造“Sound”对象?
由于教程代码的混乱,这里是我的提高可读性。
//Import Statements
import java.applet.*;
import javax.swing.*;
import java.io.*;
import java.net.*;
public class Audioapp extends JApplet
{
public class Sound // Holds one audio file
{
private AudioClip song; // Sound player
private URL songPath; // Sound path
Sound(String filename)
{
try
{
songPath = new URL(getCodeBase(),filename); // Get the Sound URL
song = Applet.newAudioClip(songPath); // Load the Sound
}
catch(Exception e){} // Satisfy the catch
}
//Loops audio file
public void playSound()
{
song.loop();
}
//Stops audio file
public void stopSound()
{
song.stop();
}
//Plays audio file once
public void playSoundOnce()
{
song.play();
}
} //Closes Sound()
public void init()
{
Sound testsong = new Sound("song.mid");
testsong.playSound();
}
} //Closes Audioapp()
编辑 1:刚记得上一个帖子中有人建议我在编译/运行它时发布它的作用。这个 .java 本身什么也不做;但是当与我的项目的其余部分一起放置时,它确实可以毫无错误地编译。
编辑 2:非常感谢 Zim-Zam 的所有帮助,如果有人发现此线程并遇到相同问题,请查阅他的评论。