学生向けにプログラミングを解説。次>>>>注意<<JDK9からJavaアプレットのAudioClipは非推奨となっており、このページ通りにプログラムを作成しても音楽は再生出来ません。三角関数といった基本的な数値処理はjava.lang.Mathクラスの各メソッドを利用します。Mathクラスのメソッドはstaticなメソッドですので、直接メソッドを使用します。今回使用するメソッドを紹介します。//ramdomは0.0〜1.0までの疑似乱数を発生。適当な値を掛けて使用します。(int)(Math.ramdom()*100);//doubleの平方根を返します。引数もdoubleです。(int)Math.sqrt(9.0);//doubleのsin値を返します。Math.sin(90*Math.PI/180);以下のサンプルプログラムを作成して下さい。Thread(canvas).start();}}なお、このプログラムを実行するには「merrygo1.mid」と「bom01.wav」が必要になります。以下の音楽ファイルを保存してください。[merrygo1.mid][bom01.wav]>>注意<<JDK9からJavaアプレットのAudioClipは非推奨となっており、このページ通りにプログラムを作成しても音楽は再生出来ません。これまでのプログラムでオブジェクトのメソッドを利用する際は、生成したインスタンスに対しての参照先を変数などで指定して、「変数.メソッド()」のように呼び出していました。method)」あるいは「非static」メソッドと呼ばれます。method)」とも呼ばれ、特定のオブジェクトへの参照無しで呼び出すことが出来ますから、一般にインスタンス生成に伴う余分なオーバーヘッドなどを避けることが出来ます。JavaのプログラムはJVMからmain()を呼び出すことで始まりますが、最初の時点ではオブジェクトは1つも生成されていないので、main()はstaticとなっています。これまでクラスを継承したプログラムを作成する際、特に子クラス(サブクラス)のコンストラクタでは何も指定していませんでしたが、正確に記述するならばサブクラスのコンストラクタの始めで「super();」が実行されています。「親クラス(スーパークラス)のコンストラクタを引数無しで呼び出し」しているわけです(superはコンストラクタの先頭でのみ使用できます)。このことは逆に言うとスーパークラスで引数無しのコンストラクタがない場合は、今までのようにコンストラクタで何も記述しないとコンパイル時にエラーとなることを示しています。クラスでコンストラクタの定義をしない場合は、「引数無しのコンストラクタが定義される」という規則になっています。サンプルプログラムを実行してみましょう。前回作成した[MyFrame.java]を利用していますのでクローズボタンを使って終了できます。実行すると、BGM(merrygo1.mid)が流れます。乱数を用いて、逃げる四角を時間内にマウスでクリックし、点数を表示します。クリックしたときに爆発音(bom01.wav)が出ます。終了後もあたり判定が有効なままになっています(クリックすると爆発音が出ます)。以下のサンプルプログラムを作成してみましょう。Thread(canvas).start();}}実行結果を確認してみましょう。前回作成した[MyFrame.java]を利用していますのでクローズボタンを使って終了できます。sin関数を用いて、矩形がsin波上を移動します。コマンドプロンプト上に矩形の位置をリアルタイムで表示します。まとめはてなブログをはじめよう!MrRadiologyさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。