• ベストアンサー

【JavaApplet】アニメーションの応用について

こんにちわ。プロミラミングの初心者です。簡単なゲームを作ってみようかと思ったのですが、思っていたより難しく手間取っています。 8枚の絵をループさせ、クリックしたところで止まった絵ごとに コメントを変えるというものです。 どういう部品を使えばいいかというのはなんとなくわかるのですが、 基本がまだハッキリしていないので、なかなか進みません。 Javaにお詳しい方、力を貸して頂けないでしょうか? *JavaScriptのほうへ間違えて質問してしまったので、そちらは後で削除します。

  • Java
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • shibamu
  • ベストアンサー率50% (10/20)
回答No.1

私も最近JavaAppletを作って遊んでいるくらいの初心者ですが… まずメインクラスに「ループしている/していない」のフラグとなるbooleanのフィールドを作ります。 次に画像をループさせる処理をスレッドで処理するように記述します。 それからクリックを検知できるようにMouseListenerを実装します。 そして実装したmouseClickedメソッドでループする・しないのフラグを切り替えれば良いと思います。 ちょっと日本語の説明だと怪しいので、実例を書いてみると // 要点だけで、省略が多いです。 // アプレットを継承し、スレッドが利用できるようにRunnable、マウス検知ができるようにMouseListenerを実装 public class Animation extends Applet implements Runnable, MouseListener{ Thread thread = null; boolean isLoop; int draw_num; // 描画する画像の番号 // 初期化処理 public void init(){ addMouseListener(this); // MouseListenerとして登録 isLoop = true; draw_num = 0; } public void paint(Graphics g){ // アレコレ実際に描画する処理 // 画像の描画とisLoopがfalseのときのみdraw_numに対応したメッセージを表示する、など } // スレッドとして実行する処理 public void run(){ while(thread != null){ // ループ状態だったら入れ替えていく if(isLoop){ draw_num++; if(draw_num >= 8){ draw_num = 0; } repaint(); // 再描画 } try{ Thread.Sleep(100); } catch(Exception e){} // 例外処理は飛ばしています } } void mouseClicked(MouseEvent e){ if(isLoop){ isLoop = false; } else{ isLoop = true; } } // mouseClicked以外は空のメソッドとして実装します void mouseEntered(MouseEvent e){} void mouseExited(MouseEvent e){} void mousePressed(MouseEvent e){} void mouseReleased(MouseEvent e){} } こんな感じでどうでしょうか?

ruserina
質問者

お礼

shibamuさん、丁寧な解説感謝いたします! このソースを参考させて頂きながら、プログラムを組みました。 後はクリック後にイベント?を起こすだけです。 また質問させて頂くこともあるかもしれませんが、 本当にありがとうございました<(_ _)>

関連するQ&A

  • JavaAppletがhtmlで見れません

    二回目の質問です。 どうかお付き合いよろしくお願いします 【簡単に説明する】 1.htmlを開く 2.htmlに埋め込まれたjavaappletが起動する 3.「セキュリティ設定によってブロックされたアプリケーション」と表示される 4.( ゜д゜ ) 前回ご指摘いただきまして、 javaの昔のバージョンを削除しました (関係ないのも消して一度javaがコンパイルできなくなったりも・・・w) そして必要なものをインストールして 現在「プログラムをアンインストールまたは変更」にて確認できるOracle社のプログラムが ・Java 7 Update25 ・Java 7 Update 25(64-bit) ・Java SE Debelopment Kit 7 Update 25(64-bit) ・Java FX 2.1.0 この4つになりました。 しかし症状は、相も変わらずです。(´;ω;`) 下記のURLに詳しく書いてあります。(何度もかくのはくどいかと思いまして ちなみにコマンドプロンプトでのバージョンは改善されました↓ java -version "1.7.0_25" javac -version "1.7.0_25" どなたかわかる方がいらっしゃいましたら御回答お願いします。 過去の質問内容 「SOS)JavaAppletがhtmlで見れません」 http://okwave.jp/qa/q8208030.html

    • ベストアンサー
    • Java
  • データが更新されたらブリングする

    javaとJavascriptとMysqlでシステム作ってみたいのですが、Mysqlのデータが更新されたらHPの文字をブリングするといったことは出来ますでしょうか 例えば、JAVAでTableを読む無限ループを走らせておいて、何かの信号をJavascriptに与えるようなことは出来ますか。 何分初心者ですので全然イメージがないので、参考になるようなHPの紹介も含めてお願い致します。

  • E-mailにアニメーションを付けたいのですが

    マイクロソフトのoffice onlineのクリップアートとメディアからアニメーションを選択してE-mailに貼り付けてお友達に送りたいと思っていますが、どのようにしたらできるのでしょうか?  ファイルをクリップする方法はわかるのですが、直接署名の後とかにおしゃれにつけたいのですが・・・。 写真やイラスト、自分の書いた絵なども直接文章の終わりにくっつけることはできます。 初歩的な質問にどなたかお答えいただくととても助かります。パソコンを購入してから1年半が過ぎました。初心者ですが、自力でなんとかがんばってます。ぜひ皆さんのお力を貸してください。よろしく!

  • JavaのsetVisibleについて質問です

    JavaでPC用の簡単なゲームアプリを作っています。 1.タイトル画面が表示される 2.スタートボタンを押す 3.タイトル画面からゲーム画面になる 4.ゲームが始まる という風になっているのですが、 ゲームが始まった後、キー入力もマウス入力にも反応しません。 一度ゲームウィンドウ以外をクリックした後、 ゲームウィンドウをクリックすると反応するようになります。 ゲームが始まった後の反応しないのを改善する方法が分からず困っております。 setVisibleの書き方が悪いのかと思っているのですが、よく分かりません。 Javaに詳しい先輩方、どうかお力をお貸しください。よろしくお願いいたします。 https://www.dropbox.com/s/q2v2fm2dc6mmfft/PuyoPJ.java?dl=0

  • androidアプリでゲーム作りに興味があります

    ただ、まったくの初心者なのでJavascriptの勉強が必要ということしかわかりません。 一から始めた方(そうでない方も)、どんな本を読みましたか。オススメあれば教えてください。 ちなみにつくりたいのは タップしたらキャラクターが反応する 何もしないと画面を動き回る という育成?ゲームみたいなものです。 あ、JavaとJavascriptの違いってなんでしょうか(カテゴリで分かれていたので)

  • java アップデート後の旧バージョン削除の件

    javaのアップデートで質問です。javaのアップデートをインストールし行いました。インストール後、旧バージョンは削除したほうがよいとコメントがありました。パソコンのコントロールパネルを開き確認したところjava7update51(バージョン7.0.510)とjava7update60(バージョン7.0.600)があるのですがどちらを削除したらよいでしょうか?windous8でパソコンは初心者レベルです。宜しくお願いします。 ※OKWaveより補足:「富士通FMV」についての質問です。

  • 言語選びについて

    プログラミングを始めるべく言語を選んでいるんですが、初心者であまりよくわからないので質問します。 今候補に挙がっているのは HSP Java Javascript なでしこ  ぐらいです。一番いいと思われるのはどれですか? また、このほかにオススメの言語があれば教えてください。 あと上に挙げた4つの言語でそれぞれできることは何ですか。 私は基本的にアプリケーションなどを作ってみたいんですが・・・・。 お願いします。

  • FlashのActionScriptでjavascript?

    質問するカテゴリーがここであっているのかよくわかりませんが、よろしくお願いします。 Flashの短い動きがあった後、一部をクリックすると新しいウィンドウが開くようになっています。 今回、そのリンク先を変えてくれとの依頼がきました。 そのクリックする部分のActionScriptをみたところ、 on (release){ getUrl("javascript:OpenNewWindow(3)"); } となっていました。 これはジャバスクリプトを読んでいるということなのでしょうか? もしそうなら、そのジャバスクリプト自体にはどうすればたどりつけますか?

    • ベストアンサー
    • Flash
  • java コントロールパネル

    javaをアンインストールしたのですが、コントロールパネルのところに白紙のアイコンが残りました。これを削除しようとするのですができず、そのまま残したくないと思うのですが、自分で調べてjavaのサイトで調べたりするのですが、よくわからず専門家の方に教えていただきたいと思い質問させていただきました。 このアイコンを残したままだとセキュリティ上リスクがあると思うので、削除のやり方をよろしくお願いします。 javaはプログラムとアンインストールから削除 その後、白紙のアイコンが残る 右クリックしても開く以外選択肢がない状態です。

  • IEが固まってしまう

    IEでjavascriptを使ってページを開くようなところをクリックすると固まってしまいます。 OSはXPで、履歴もCookieも削除し、WEBの設定もリセットし javaもインストールし直したんですがダメでした。 どうすればいいか教えてもらいたいのでよろしくお願いします。

専門家に質問してみよう