• 締切済み

bgmをつけるには(java)

いまテトリスのようなゲームをjavaで作ろうとしています。 その件に関して少し前に質問して、まだコンパイルがうまくいかないのですが、それはそれとして今度は別の質問です。 仮にテトリスが遊べるような状態になったとして、ゲームにBGMをつけるにはどのようにすればいいのすか? 乏しい知識で本やネットで調べたところ、AudioClipインタフェースを 使ってどうにかするのかな、と思っています。 どういう感じでやるのかイメージがつかめません。BGMはBGM用にクラスを作って記述するのですか? 以下のようなクラスを作ってコンパイルしても class Audio extends Applet { AudioClip bgm; public void init() { bgm = getAudioClip(getClass().getResource("○○.au")); bgm.loop(); } } シンボルを解決できません。 シンボル: クラス AudioClip 場所 : Audio の クラス AudioClip bgm; と出てしまいます。大まかなイメージでもいいのでゲームにBGMをつけるさいのやり方を教えてください。お願いします。

noname#24851
noname#24851
  • Java
  • 回答数1
  • ありがとう数1

みんなの回答

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

http://www.gremlin.jp/yada/j_java_snd_r.htm http://www.nextindex.net/java/applet/audio.html とか参考になるんじゃないでしょうか、 自分ではやってみたことがないのでわかりません。

noname#24851
質問者

お礼

そのサイトはすでに調べていました! BGMをならすクラスとメソッドをどう記述したら最初からループ再生で流れるのかわかりません。 単独でBGMをならすクラスを作成してそれを実行してBGMをループ再生させることはできます。 でも、ゲームの内容を記述したクラスを書いたときに、どのように書けばそのゲームのBGMとしてループ再生させられるかがわからないんです。 BGMの記述とゲームの内容の部分とをどうつなぎあわせればよいのかがわからないんです! 基本ができていないので申し訳ないですが!!

関連するQ&A

  • アプレットのプログラムがコンパイルできません。

    import java.applet.Applet; import java.awt.*; public class Lesson1Applet extends Applet { public void init(){ this.add(new Lesson1("")); this.setLayout(null); this.resize(600,450); } } 上記のプログラムがコンパイルできません。 本の通りに作ってみたのですが、コンパイルが出来ず Servlet1118Applet.java:7: シンボルを解決できません。 シンボル: クラス Lesson1 場所 : Lesson1Applet の クラス this.add(new Lesson1("")); ^ という、エラーが出ます。 なぜコンパイル出来ないのか、わかる方がいましたら お返事お願いいたします。

    • ベストアンサー
    • Java
  • java初心者 wavファイル再生について

    こんにちは。 趣味でプログラミングをしている者です。 javascriptでポーカーを再現するくらいです。 eclipse3.6でJAVAの勉強をしているのですが、 Applet.newAudioClip() について、質問させていただきます。 http://d.hatena.ne.jp/aidiary/20041003/1251379247 上記のサイトを参考にして ボールが壁に当たった時に wavファイルの 効果音を鳴らすように試みたのですが、 以下のようなメッセージが表示されてしまいました。 ----------------------------------------------------------- Exception in thread "main" java.lang.NullPointerException at sun.applet.AppletAudioClip.<init>(AppletAudioClip.java:48) at java.applet.Applet.newAudioClip( Applet.java:279 ) at many_balls.soundball.<init>( soundball.java:12 ) at many_balls.soundpanel.<init>( soundpanel.java:24 ) at many_balls.soundframe.<init>( soundframe.java:12 ) at many_balls.soundframe.main( soundframe.java:21 ) ----------------------------------------------------------- 効果音をなしにしたときは、描画されたのですが・・・ http://d.hatena.ne.jp/hhelibex/20090214/1234629150 上記のサイトを見て、ファイル名を   AudioClip sef = Applet.newAudioClip( classname.class.getResource("/fimename.wav") ); とか、 sef = Applet.newAudioClip( classname.class.getClassLoader().getResource("filename.wav") ); とかにしても、同様のエラーメッセージがコンソール部分に 表示されてしまいました。 初心者なもので、エラーメッセージの意味がよくわからないのですが。 ファイルを置く場所が違っている、ということなのでしょうか? getResource( arg ) の引数の指定の仕方が違うのでしょうか? もしよろしかったら教えていただけないでしょうか よろしくおねがいします。

    • ベストアンサー
    • Java
  • コンパイル時のエラーの件

    html上にJavaを表示させようとして、いちばん簡単なプログラム以下を作りました import java.applet.Applet; import java.awt.Graphics; public class hello extends Applet { public void paint (Graphics g ) { g.drawsString ("Hello Java Applet !",20,20); } } その後コンパイルしようとしたのですが、次のようなエラーメッセージが現れました。(特に.awtというのが全くわからないのです。) hello.java:1: シンボルを解釈処理できません。 シンボル: クラス applet 位置 : java の クラス import java.applet.applet; ^ hello.java:2: シンボルを解釈処理できません。 シンボル: クラス awt 位置 : java の クラス import java.awt.graphics; ^ hello.java:4: シンボルを解釈処理できません。 シンボル: クラス applet 位置 : hello の クラス public class hello extends applet { ^ hello.java:5: シンボルを解釈処理できません。 シンボル: クラス graphics 位置 : hello の クラス public void paint (graphics g ) { ^ なにか設定などがおかしいのでしょうか?教えてください。

    • ベストアンサー
    • Java
  • 【java applet】他のクラスを呼び出して図形を描写するには

    はじめまして。 非常に簡単なことで、申し訳ないのですが質問させていただきます。 アプレットをextendsしたAppクラスで 他のMakeImgクラスのインスタンス(mi)を 作成し、MakeImgクラスのペイントメソッドを 実行して、図形を描写したいのですが、 下記のプログラムではコンパイルできても 図形が描写されません。 ペイントメソッドは明示的に呼び出さなくても 呼ばれるはずなので図形を描いてくれてもよさそうなのですが。。。 どなたか詳しい方、同じような問題を経験した方がいらっしゃったらぜひ回答していただければと思います。 それではよろしくお願い致します。 ////////////////////////////////////////////// import java.applet.Applet; import java.awt.*; /* <applet code="App.class" width="300"height="300"> </applet> */ public class App extends Applet {  MakeImg mi;  public void init()  {   mi = new MakeImg();  } } class MakeImg {  public void paint(Graphics g)  {   g.setColor(Color.white);   g.fillRect(0 , 0 , 300 , 300);   g.setColor(Color.black);   g.drawString("test",40,30);  } }

  • 【Java】画像表示が出来ない!

    Java初心者です。 Eclipseを使って、Javaアプレットでjpeg画像を表示させようとしたのですが、上手くいきません。表示したい画像をインポートして、このようなコードを書きました。 import java.applet.Applet; import java.awt.*; /* <applet code="クラス名.class" width="497" height="600"> <param name="img" value="img/test.jpg"> </applet>*/ public class クラス名 extends Applet { Image img; public void init() { img = getImage(getDocumentBase() , getParameter("/test.jpg")); } public void paint(Graphics g) { g.drawImage(img , 0 , 0 , this); } } Javaアプレットで実行しても、アプレットは真っ白なままです。GIF画像でも試してみましたが、同じく失敗でした。他のJavaアプレットのプログラム(図形を表示したり)は成功したので、私のパソコンのJavaは問題ないと思います。回答よろしくお願いします。

    • ベストアンサー
    • Java
  • javaのsetColor、setBackgroundについて

    プログラミング初心者で、困っています。教えてください。Javaで g.setColor(Color.red); というサンプルに良くあるコードをコンパイルしてもエラーになってしまいます。 import java.applet.Applet; import java.awt.Graphics; public class First2 extends Applet{ public void init() { setBackground(Color.yellow); } } をコンパイルすると C:\myJ\test1>javac First2.java .\Color.java:7: ')' がありません。 g.setColor(Color red); ^ First2.java:6: シンボルを見つけられません。 シンボル: 変数 yellow 場所 : Color の クラス setBackground(Color.yellow); ^ .\Color.java:6: java.awt.Graphics は abstract です。インスタンスを生成することは できません。 Graphics g = new Graphics(); ^ .\Color.java:7: シンボルを見つけられません。 シンボル: 変数 Color 場所 : Color の クラス g.setColor(Color red); ^ エラー 4 個 となってしまうんです。 ネット上のいろんなサイトでは問題なく動作するように 書かれていますが、なぜエラーになるんでしょう? どうしたら解決できますか?ご指南下さい。 ちなみにjavaのversion は 1.6 です。

    • ベストアンサー
    • Java
  • javaでエラーを起こす変数の特定

    こんにちは. java初心者です. try~catchでエラー処理を行うことについて質問です. try~catchでは,エラーを起こした変数を特定することは出来ないのでしょうか? 例えばアプレットで画像を表示させる下記のコードについて, img1とimg2の変数を使いますが,img1に読ませるファイルは存在するが img2に読ませるファイルが存在しない場合に,「img2に読み込ませるファイルが存在しません」と表示したいのです. このようにどの変数がエラーを起こしたかを特定することはできますか? ============== import java.awt.*; import java.applet.*; import java.awt.event.*; public class Sample extends Applet{ Image img1, img2; int x=0, y=0; public void init() { System.out.println("init"); try{ img1 = getImage(getClass().getResource("img/sample1.jpg")); img2 = getImage(getClass().getResource("img/sample2.png")); } catch(Exception e){ System.out.println("エラー" + e + "が返されました."); } } public void paint(Graphics g){ g.drawImage(img1, 0, 0, this); g.drawImage(img2, 50, 50, this); } } ============== try{  img1に関する処理 } catch(Exception e){ img1に関するエラー処理 } try{  img2に関する処理 } catch(Exception e){ img2に関するエラー処理 } とやればできそうですが,あまりに冗長なので他に方法があると思うのですが… 自分もまだ勉強しはじめたばかりなので,初歩的な質問で恐縮です. 教本やネットで調べても分からなかったので質問させていただきました. よろしくお願いいたします.

    • ベストアンサー
    • Java
  • メソッドのオーバーライド(java)

    class A3{ void hello(){ System.out.println("A3"); } void hello(int i){ System.out.println("A3"+i); } } class B3 extends A3{ void hello(){ System.out.println("B3"); } } class C3 extends B3{ void hello(String s){ System.out.println("C3"+s); } } class MethodOverriding3{ public static void main(String args[]){ A3 obj = new C3(); obj.hello(); } } 上のプログラムを実行すると"B3"と表示されまが、どうしてクラスBのメソッドが実行されるのでしょうか? クラスAのメソッドが無視される仕組みがわかりません。 また、クラスMethodOverriding3でobj.hello("abc")としてコンパイルすると mo.java:25: シンボルを見つけられません。 シンボル: メソッド hello(java.lang.String) 場所 : A3 の クラス obj.hello("abc");   ^ エラー 1 個 とエラーが出ます。 どうしてでしょうか? 誰か教えてください、お願いします。

    • ベストアンサー
    • Java
  • リスナーを別クラスで書いた時のエラーの意味と原因?

       今晩は。  参考書を見ながら、リスナーを別クラスで書いてみました。  maクラスのコンストラクタを「public void ma」にすると「maのコンストラクタが未定義」 ですというエラーが出ます。  これはどのような意味でしょうか、よろしくお願いします。 ================================================================================= public class applet extends Applet { String s = "Hello" ; public void init() { addMouseListener(new ma(this)); } public void paint(Graphics g) { g.drawString( s , 60 , 60 ) ; } } class ma extends MouseAdapter { applet a ; public /*void*/ ma(applet ap) { a = ap ; } public void mouseClicked(MouseEvent e) { a.s = "JAVA" ; a.repaint() ; } }

    • ベストアンサー
    • Java
  • 自分で作ったクラスを継承するとエラーが出ます。

    サーブレットを勉強しているのですが、自分で作成したクラスを継承した サーブレットを作成してコンパイルするとその継承したクラスの シンボルを解釈できませんというエラーが出ます。 たとえばclass01というクラスを継承したclass02.javaをコンパイルすると シンボルを解釈できません public class02 extends class01{ といったエラーが出てしまいます。 どうも自分で作ったクラスを読み込めていないようなのですが どうしたらよいのでしょうか? 初歩的な質問かもしれませんが、よろしくお願いします。 ちなみにOSはWin2000、サーブレットはJRUNを使用しています。

    • ベストアンサー
    • Java