我写了一个简单的类来在一个简单的游戏中播放音频文件.它适用于枪声或爆炸等小声音,但当我尝试将它用于背景音乐时,我收到了此错误:"无法分配剪辑数据:请求的缓冲区太大." 我假设这意味着文件太大,但我怎么能解决这个问题呢?资源:
import java.io.File;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
public class Sound{
private Clip clip;
public Sound(String filepath){
System.out.println(filepath);
File file = new File(filepath);
try {
clip = AudioSystem.getClip();
AudioInputStream inputStream = AudioSystem.getAudioInputStream(file);
clip.open(inputStream);
} catch (Exception e) {
System.err.println(e.getMessage());
}
}
public void play(){
System.out.println("play");
if(clip.isActive()){
clip.stop();
}
clip.setFramePosition(0);
clip.start();
}
public void stop(){
clip.stop();
}
public void loop(){
if(!clip.isActive()){
clip.setFramePosition(0);
clip.loop(Clip.LOOP_CONTINUOUSLY);
}else{
System.out.println("ALREADY PLAYING");
}
}
public boolean getActive(){return clip.isActive();}
}
Run Code Online (Sandbox Code Playgroud) 我正在写一个游戏,我有一个输入类,其中包含所有不同键的布尔值.我在主游戏类中创建了这个类的实例.布尔是公开的,还是我应该使用访问者访问它们?
有谁知道如何在Mac上安装MonoGame.我一直在寻找一段时间,我找不到任何指南.我有Mono和MonoDevelop并运行良好,但我无法弄清楚如何安装MonoGame.谢谢.
我在java中制作了一个基本的蛇游戏,我需要一些帮助来获得更流畅的动画.蛇的每个部分都是20x20的正方形,所以我让蛇以每个刻度20像素的步长移动.这使得蛇似乎在网格上移动,这意味着它将始终与仅在"网格"上产生的食物对齐.现在我的问题是,当我尝试将它移动3步时,它不再与"网格"对齐.另一个更严重的问题是蛇通过移动第一个方块移动,然后将所有其他方设置到数组中的下一个位置(参见代码).问题是,当它移动3步时,蛇会收缩,所以每个原点之间只有3个间隙,而不是20个.任何人都可以帮助解决这些问题吗?如果需要,我可以添加整个源代码.
import java.awt.*;
import java.awt.event.*;
import java.awt.image.BufferStrategy;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Random;
import javax.swing.Timer;
public class player1 extends Canvas implements Runnable {
private keyevents keyevent;
private element [] elements;
private element goal;
private int numSegments, score, endY, quitX, snakeSize, windowSize;
private Font scorefont;
private long cycleTime;
private final int FRAME_DELAY;
private BufferStrategy bf;
private boolean gameOver, isRunning;
public player1(Frame window) {
setSize(new Dimension(window.getWidth(), window.getHeight()));
FRAME_DELAY = 20;
windowSize = 400;
snakeSize = 20; …Run Code Online (Sandbox Code Playgroud) 我一直在关注如何在C#+ XNA中编写基本的tile map编辑器的教程,我对使用的编码实践有疑问.主Game类包含许多公共静态变量,然后从其他实例化类中访问和修改,而不使用getter或setter.这是不好的编码练习吗?链接到教程:http://www.youtube.com/watch?v = Tbs5EA- 9Zfg
我正在尝试编译一个tile map编辑器,以便我可以使用它来处理游戏,但我收到错误"类型或命名空间名称'压缩'在命名空间'System.IO'中不存在"当我尝试构建Visual C#.有谁知道我怎么解决这个问题?我试过谷歌,但我一无所获.