- 1 名前:デフォルトの名無しさん [2007/09/26(水) 20:51:18 ]
- ハードウェアの高スペック化、描画アルゴリズムの変更、JavaVMの高速化に伴い、パフォーマンスの問題は改善されています。
しかしながら、"Java"というだけで未だに敬遠されるのが現状。 そんなSwingと引き続き付き合っていくみんなのスレッドです。 Java低速GUI Swing 5 (前スレ) pc11.2ch.net/test/read.cgi/tech/1161139809/ Java低速GUI Swing 4 pc8.2ch.net/test/read.cgi/tech/1140533866/ Java低速GUI Swing 3 pc8.2ch.net/test/read.cgi/tech/1121700954/ Java低速GUI Swing 2 pc8.2ch.net/test/read.cgi/tech/1095398949/ Java低速GUI Swing pc5.2ch.net/test/read.cgi/tech/1062271447/l50
- 426 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 02:18:14 ]
- >>423
時間が経つごとに気合がなくなっていってるっぽいよなぁ >>425 CPUがインテルでもベースがUNIXでも肝心なGUIライブラリは別物なので結局移植作業は必要
- 427 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 02:20:29 ]
- プロセスとかファイルシステムとかあたりはunix互換でも、
グラフィックとかサウンドとかあたりは全然別物だし・・・
- 428 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 02:38:18 ]
- 追加機能が増えたりバージョンあがるごとに仕様かわったりで
追従していくの大変すぎるんじゃないのかなぁ。 JVMさえ開発すればどのマシンでも動きますなんてただの宣伝文句で、 それ作ろうとしたらすげー大変だと思うよ。
- 429 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 13:28:02 ]
- 技術者の量・質を考えたらAppleがJavaを管理するのは無理そうだな
できあいの既存のものを改造していくのには慣れていても、 継続的にある規格に互換させていく作業ってのはやってこなかっただろうし。
- 430 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 14:37:15 ]
- >>428
それが基本ソフトとよばれるものなんだけどな 互換性をいかに維持するか 新しいOSごとにアプリ全部作り直しなんてやってられん このスレ的にはApple捨ててよで結論でてるだろ 5.0のときの対応も遅かった
- 431 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 14:41:36 ]
- マック使う人はアポー謹製ソフトさえありゃ満足なんだから放置しとけばいい
- 432 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 16:17:40 ]
- デザイナはAdobe製ソフトも入ってないと困るよ
- 433 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 20:54:18 ]
- mac osxはカーネルより上のレイヤーはXですら自前だからなぁ。
GUIが自前とか言う次元超えてるよ。
- 434 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 00:29:34 ]
- >>431
V2Cが無ければとても困ると思うの
- 435 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 03:17:02 ]
- なんとかとハサミは使いようというじゃない。w
- 436 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 10:31:31 ]
- せっかちな人にはJavaは向かないね
- 437 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 13:22:30 ]
- マック信者をJavaで逆洗脳してみたいwww
- 438 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 13:46:40 ]
- Mac信者かつJava信者ですが何か?
でもCocoa-Javaはいらないと思ってる。 そういうのはRubyとかでいいんじゃないかな。 Javaはクロスプラットホームが基本です。 クロスプラットホームだけど、Macでは見た目を良くする。 ttp://developer.apple.com/technotes/tn2007/tn2196.html その他のプラットホームでは、Nimbusに期待してる。 ttps://nimbus.dev.java.net/spec/index.html どっちも解像度に依存しないし、スモールサイズなんかは共通して使える。
- 439 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 14:33:56 ]
- 6での大幅な改善点がデスクトップアプリの強化(大量にバグもちだが)と
大幅な高速化(1.3.1から1.4.0より大きな変化)だから もうすぐ1年たつというのにMacに6がきてないのは苦しい
- 440 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 15:16:27 ]
- アップルの独自実装だからmac版が早くなるか分からないんじゃない?
糞実装を何とかしてくれればそれで良いと思うが。
- 441 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 19:21:46 ]
- まあぶっちゃけV2Cが1.4.2で動く事からも
Macが6をサポートしなくても当分困らないんだよな 5.0が動くだけでも十分じゃね
- 442 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 20:59:51 ]
- そんな後ろ向きな姿勢じゃいかんよ
- 443 名前:デフォルトの名無しさん mailto:sage [2007/11/21(水) 21:07:37 ]
-
JTreeで幹や葉をクリックしたり、矢印キーで移動させたときに 選択している幹や葉のファイルを別のJListに表示したい。 この場合、イベントはvalueChangedでいいんでしょうか? それとなにか注意点とかありますでしょうか
- 444 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 00:03:52 ]
- データ転送じゃね?
- 445 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 12:44:57 ]
- >>443
マニュアル読んで判断したならいいでしょ あとvalueChangedってメソッド名だけ出しても普通の人はわからんと思うよ
- 446 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 15:08:37 ]
- 下手にJTreeのvalueChangedいじったらパフォーマンス落ちね?
- 447 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 15:31:17 ]
- 上手にいじれば良い
- 448 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 19:38:15 ]
- それが出来るならこんなところで確認してないと思うが?
まあ、ドキュメント読めば分かることだが。
- 449 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 23:58:16 ]
- JFrameの下部にStatusBarを取り付けようとしています。
単純にBorderLayout.SOUTHで問題はないのですが、BorderLayout.SOUTHに当たる領域は後々別に使用するかもしれないので、完全に別領域として下部に取り付けたいのです。 イメージ的にはsetJMenuBar()と同じような感じです。 どのような実装がよいでしょうか?
- 450 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 00:10:09 ]
- JPanel に BorderLayout をセットして JFrame の CENTER に置く
JFrame の SOUTH をステータスバーのために使って、 JPanel の SOUTH を後々別に使用するときのために取っておく
- 451 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 00:13:45 ]
- そのようにした場合、ステータスバーをセットするJFrameのCENTERにコンポーネントを加えたいときにわざわざそのJPanelを取得後貼り付けないといけないので避けたいです。
他にはないでしょうか?
- 452 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 00:25:57 ]
- >JFrameのCENTERにコンポーネントを加えたいときにわざわざそのJPanelを取得
いや、最初から、JFrame じゃなくて JPanel の CENTER に入れればいいじゃん。 わざわざ取得っていうか、JPanel 作ったときにそれをフィールドに持っとけばいいだけでそ? 本当にどうしても JMenuBar のように振舞わせたくて他に方法がないというなら、出来ることは出来るけどちょっと面倒い。 JRootPane の中の layeredPane と glassPane と、layeredPane の中の contentPane と JMenuBar (と自分の statusBar) をレイアウトするレイアウトマネージャを書いて、JRootPane のレイアウトマネージャをそれで置き換える。
- 453 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 00:27:53 ]
- Windowsに限定しちゃうかも知れないけど、
%USERPROFILE%\Local Settings\Application Data ↑のディレクトリの中に変なGUID名のディレクトリが作られてて 中を見るとJ2SDK5.0のインストーラみたいなのが入ってる。 うちの環境にはJDK6も入ってるけど、5系だけゴミ?があるので気になります。 これって削除しちゃっていいのかな?
- 454 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 00:34:12 ]
- >>452
そうなのですが、どうしてもメニューバーのように扱いたかったので・・ やはりかなり面倒なことになるようですね。 丁寧に教えていただきありがとうございました。
- 455 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 00:40:36 ]
- ボーダーレイアウトでいいだろ
面倒ではないだろと
- 456 名前:453 mailto:sage [2007/11/23(金) 00:44:03 ]
- 質問・相談スレに書くつもりが誤爆してました。
こちらはクローズします。ごめんよぅ。
- 457 名前:デフォルトの名無しさん [2007/11/25(日) 00:15:06 ]
- 質問相談スレで聞いたところ、こちらで聞いたほうが良いと教えていただい
たので質問させていただきます。 現在、携帯電話でいうフレーム撮影機能をPC上でJAVAを用い、作りたいと考え ております。USBカメラから動画キャプチャを行い撮影ボタンを押すとその時の 静止画がJPEGで保存するところまでは作ったのですが、写真フレーム(gif)を 動画上に表示する方法がわかりません。API集の方も探してみたのですが、見つ けることができませんでした。誰か方法について教えてもらえませんでしょう か??よろしくお願いします 初心者でして簡単なソースなどつけていただけると助かります。
- 458 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 00:18:56 ]
- 一番簡単なのは
・ImageのロードにはImageIOを使う ・JLabelを貼り付けてそれにImageをセットする ネットで初心者かどうかってのは意味ない文章だからやめたほうがいい 知っているか知らないかだけだから
- 459 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 00:23:38 ]
- JMF使ってる?
- 460 名前:デフォルトの名無しさん [2007/11/25(日) 00:23:49 ]
- 動画を描画するコンポーネントのpaintComonent(...)をオーバーライドして
super呼んだ後に、drawImage(...)でOKじゃね?
- 461 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 00:35:49 ]
- いや
>USBカメラから動画キャプチャを行い撮影ボタンを押すとその時の >静止画がJPEGで保存するところまでは作った ここにJMF使ってるならJMF流儀の動画の描画の仕方があるから動画のキャプチャをどうやってるかでやり方が決まる。
- 462 名前:デフォルトの名無しさん [2007/11/25(日) 01:30:58 ]
- JMFをつかっています。
キャプチャ部分となりますと new Timer(100, new ActionListener(){ try { player = Manager.createRealizedPlayer(new MediaLocator("vfw://0")); } catch(Exception e){ System.out.println(e); System.exit(1); } player.start(); ここになりますでしょうか。 ご教授よろしくお願いします
- 463 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 02:44:57 ]
- >写真フレーム(gif)を動画上に表示する
これがやりたいんだよね? ならEffect実装してProcessorからTrackControl取り出してTrackControl#setCodecChain(Codec[])で実装したEffectセットしてやれば良い。 んでProcessor#getVisualComponent()で取得したビジュアルコンポーネントを適当に張り付ければ良い。 あとはJMFのページのチュートリアルとかサンプルコード読んで。
- 464 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 20:21:48 ]
- 日本語を入力時、「確定はされていない文字列入力状態中」(Windowsでは文字の下に破線が引いてある状態)を調べる方法はありますか?
- 465 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 20:22:47 ]
- ImmGetCompositionString
- 466 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 20:23:19 ]
- ごめん、ここJavaだったorz
- 467 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 20:34:01 ]
- Component に addInputMethodListener を仕掛けておけば取れるみたい?
- 468 名前:464 mailto:sage [2007/11/27(火) 20:44:22 ]
- >>467
InputMethodEvent#getCommittedCharacterCount() で判別できそうですね。 ありがとうございました!
- 469 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 15:28:42 ]
- Java Web Startのアプリで、jnlpファイルの中で
<security> <all-permissions/> </security> を設定していて、jarにはオレオレ証明書でサインしている。 確かにファイルアクセスなど自由にできるから、 この設定は有効化されているはずなんだが、 Point p = MouseInfo.getPointerInfo().getLocation(); で Exception in thread "AWT-EventQueue-0" java.security.AccessControlException: access denied (java.awt.AWTPermission watchMousePointer) が出るのって、これはどういうことなんだろ。 JWSで動かさなければこのエラーは出ないんだが。
- 470 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 14:03:31 ]
- >>469
JWSのバグでね? そのクラス1.5からのやつだからもしかしたら・・・
- 471 名前:デフォルトの名無しさん [2007/12/01(土) 00:09:26 ]
- frameにタブだけ貼り付けたの作ると、
初めに、タブのタイトル部分に選択状態みたいなのが行くんだけど、 それをタブに貼ってある、jCheckBoxに初めから行くようにしたいんだけど、 windowsのアプリはそうなるようなんで。 どうやったら出来ますか?
- 472 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 00:49:32 ]
- フォーカスのトラバーサルいじるAPI群なかったけ?
- 473 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 00:54:40 ]
- 初期状態ってことならオープン時にフォーカスセットしてあげれば?
- 474 名前:471 [2007/12/01(土) 01:19:46 ]
- jCheckBox.requestFocusInWindow();
よく分からないけど、setVisible(true)した後しかフォーカスがいかないな…
- 475 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 01:19:51 ]
- >>471
つrequestFocusInWindow() 俺はタブはいつもsetFocusable(false)するなぁ。
- 476 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 01:26:01 ]
- >>474
つaddAncestorListener() ancestorAddedでrequestFocusInWindow呼んでみそ
- 477 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 01:27:34 ]
- ふつーにオープン時でいいとおも
- 478 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 01:28:59 ]
- >>477
それだとタブで切り替えたときにフォーカスが移らないってことだとおも
- 479 名前:471 mailto:sage [2007/12/01(土) 01:59:35 ]
- >>476
おーサンクスサンクス。 これで完璧だわ。AncestorAdapterは何故かないんだな
- 480 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 02:59:55 ]
- アダプタクラスは実装するメソッド数が少ないか
そのインターフェースの多くが実装される可能性が高いリスナーは 利便性が低いからアダプタクラス用意しないって方針だよ。
- 481 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 10:36:16 ]
- JPopupMenuの使い方なのですが、ポップアップメニューの対象によってメニュー内容を変えたい場合、一般的にどのような方法を取るのがよろしいでしょうか?
単純に対象を毎回チェックしてその対象に必要なメニューを構成する、というのはどうも気持ちが悪くて・・
- 482 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 12:02:52 ]
- リスナーのフィールドにして遅延生成すればいいだけじゃない?
- 483 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 12:35:03 ]
- 対象の種類ごとにJPopupMenuを予め作っておく・・・・のはムダが多いか
- 484 名前:481 mailto:sage [2007/12/01(土) 12:48:32 ]
- >>482
遅延生成とはどういうことを指すのでしょう やはり表示毎に必要なメニューを生成という意味でしょうか? >>483 例えば対象の種類にあらゆる属性があり、その属性ごとに必要なメニューがある場合、その組み合わせをあらかじめ作っておくのは好ましくないかと・・
- 485 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 12:55:47 ]
- じゃあ、すべての項目を含めたJPopupMenuを1個用意しておいて、各JMenuItemのsetVisibleを切り替えるとか
- 486 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 14:24:05 ]
- >>478
そういう意味だったのか あの日本語からはそこまで理解できなかったよ
- 487 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 14:28:15 ]
- >>481
表示される項目が全て画面に収まるのならすべていれる。 そして選択可能不可能で調整したほうがいいんじゃない? コンポーネントによってメニューがかわるより、メニューは同じで選択可能か不可能かのほうが ユーザーに優しいとおもわれる。 この選択肢は下のほうにあるとか上のほうにあるとかコンポーネントごとにかわっていたら厄介だ。
- 488 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 15:01:14 ]
-
JFrameの上には、とりえあえずJPanel置くべきですか?
- 489 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 15:04:11 ]
- packの仕組みをしっているのならおいたほうがいい
そうでなくともパネルに機能単位でのせていったほうが楽になるかな グループレイアウトを使うのなら場合によってはなくてもいいかも
- 490 名前:481 mailto:sage [2007/12/01(土) 15:52:06 ]
- >>485
>>487 とりあえず全部登録しておくのが楽なようですね。 場合によってsetVisible、setEnabledで使い分けようと思います。 ご意見ありがとうございました。
- 491 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 18:02:09 ]
- >>480
そうなんだ〜。まぁ、よく使うなら自分でAdapter作ればいいしね〜。
- 492 名前:デフォルトの名無しさん mailto:sage [2007/12/02(日) 18:44:49 ]
- LinuxのSwing上でトラックポイントのセンターボタンでスクロールしたときに
コンテキストメニューが開いちゃうんだけど、心当たりがある人いる? JavaはSunの1.6.0_03
- 493 名前:デフォルトの名無しさん mailto:sage [2007/12/02(日) 19:12:28 ]
- これかな?
sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/guide/awt/1.3/designspec/popupmenu.html >・Windows では、マウスボタン 2 マウス UP でメニューがポップアップする >・Motif では、マウスボタン 3 マウス DOWN でメニューがポップアップする
- 494 名前:デフォルトの名無しさん [2007/12/02(日) 21:54:41 ]
- 以下の挙動で、困っています。
JNLPでデスクトップにショートカットアイコンを作成し、 そのアイコンに何らかのファイル(何でもいい)をドラッグアンドドロップすると、 「このアプリケーションは起動できません」「詳細」「了解」というダイアログが表示される。 ここで「詳細」ボタンを押すと、次のような情報が表示される。 ※C:\Users\hoge\Desktop\新しいテキスト ドキュメント.txt をドラッグアンドドロップした場合。 InvalidArgumentException[ 無効な引数が指定されました: {C:\Users\hoge\Desktop\新しいテキスト ドキュメント.txt, C:\Users\hoge\AppData\Local\Temp\javaws12 }] at com.sun.javaws.Main.launchApp(Unknown Source) at com.sun.javaws.Main.continueInSecureThread(Unknown Source) at com.sun.javaws.Main$1.run(Unknown Source) at java.lang.Thread.run(Unknown Source) で、問題なのは、ここで、ドラッグアンドドロップしたファイルが、 何の断りもなく、いきなり 削除 されてしまう、ということなのです。 この不具合は、あらゆる全てのJNLPアプリで、全てのOSで再現しました。 こうした挙動を防ぐような、何らかの対策をすることは可能でしょうか?
- 495 名前:デフォルトの名無しさん mailto:sage [2007/12/03(月) 00:20:49 ]
- >>494
MacOSX Leopardでやろうとしましたが再現しませんでした。 何よりファイルにDnDができない。 bugreport.sun.com/bugreport/ で報告してください。 報告時は具体的な再現方法と再現環境を書いておくのが吉です。 ありとあらゆる、というのはちょっと曖昧すぎます。
- 496 名前:デフォルトの名無しさん [2007/12/03(月) 01:24:26 ]
- ごめん、たしかに、MacOSでは試していない。
あと、64bit用のJREやSolarisでも試せていない。 こちらで試したのは、Windows Vista, Windows XP SP2, UbuntuLinux(7.04)の上で、 1.4.2_16,1.6.0_03,1.6.0_10-ea(いずれも32bit用)。 ここまでやって、いずれの環境でも再現した。 いま、Java7でも試そうとしているところ。 Javaキャッシュビューアで、インストール済みのJNLPアプリについて 「選択されたメニューのショートカットを作成」または、 右クリックメニューで「ショートカットの作成」で、 ショートカットがデスクトップにすることができる。 そうして作られたショートカットに、 ユーザが何かのファイルを放り込むと、 そのファイルが勝手に削除されてしまう、ということ。 ユーザがデスクトップ上のメモ帳のショートカットにファイルをDnDして 開こうとして、まちがって隣のJNLPアプリのショートカットにドロップしたところ、 そのファイルが勝手に削除されてしまう、という感じ。 > 何よりファイルにDnDができない。 たぶん、そういう挙動が正常なのだと思う。
- 497 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 11:36:46 ]
- 質問です。JButtonがアイコンであるGIFファイルの縦横サイズより結構大きくなってしまうのですが、コンパクトにする方法は無いでしょうか?
- 498 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 12:06:32 ]
- >>497
JButtonのjavadocを隅から隅まで読んで しかるのちにボーダーのマージンを設定したらいいよ
- 499 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 14:21:41 ]
- >>498
497です。できました。ありがとうございます。
- 500 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 02:03:22 ]
-
JFrameでgetContentPane()をしなくてもよくなったは、いつからですか? 自動的に転送されるようになったってのを読んだのですが。
- 501 名前:デフォルトの名無しさん [2007/12/06(木) 02:06:17 ]
- 5.0
- 502 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 02:10:45 ]
- 即レスthx
- 503 名前:デフォルトの名無しさん [2007/12/07(金) 22:41:46 ]
- シューティングを作りたいと思ってます
メイン画面とスコア画面があって、 それぞれJPanelを継承したクラスを作ってMainPanel,SubPanelと作ろうと思ってるんですが、 この方法は値の受け渡しが面倒くさくなったり、重くなったりしますか? 普通はひとつのゲームは大体1パネルですかね?
- 504 名前:デフォルトの名無しさん [2007/12/07(金) 22:43:16 ]
- 普通はゲームにSwingなんて使わなくないか?
ましてシューティングで・・・
- 505 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 22:45:12 ]
- Javaの勉強もかねて作ってます
最近はSwingもだいぶ早くなったと聞いたんですが...
- 506 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 22:51:48 ]
- ゲームなら、Frameに直接描けばいいと思う。
BufferStrategyを使うのも良し。
- 507 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 22:52:23 ]
- 400x300で24fpsくらいで試してみるといいよ。
Swingはシングルスレッドだから、パッシブ連打でも問題ないはず
- 508 名前:デフォルトの名無しさん [2007/12/07(金) 23:00:08 ]
- パッシブ連打とは?
- 509 名前:503 mailto:sage [2007/12/07(金) 23:01:39 ]
- Frameに直接書くってことはpaintComponentメソッド内に
メイン画面用とスコア画面用の描画処理が混在してるってことですよね? そうすると片方の画面の背景だけ変更するなどの処理とかがややこしくはならないですか? パネルで分けるとコードがすっきりする気がするんですが
- 510 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 23:05:41 ]
- パッシブ・レンダリング=描画イベントによる受動的なレンダリング(repaint())
アクティブ・レンダリング=自発的に描画を実行するレンダリング(Toolkit.sync(), BufferedStrategy)
- 511 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 00:30:40 ]
- >>503
つまりWindowシステム普及前のゲームプログラミングが難しかったと思ってる? んなことないよ 練習がてらというのならSwingつかってもいいけどメリットはあんまないとおもうよ JLabelのアイコン指定でキャラ表示とかSwingというフレームワークで 描画や再移動とかそういうことでしょ? 途中でもっといいものを、もっと本格的なものを、となって挫折しそう あとpaintComponentではゲームのレンダリングの処理はいれないことね
- 512 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 00:31:36 ]
- さらに付け加えるとパッシブレンダリングはいわゆるトリプルバッファを使わないといけないから注意ね
ダブルバッファじゃダメ
- 513 名前:503 mailto:sage [2007/12/08(土) 00:51:35 ]
- 全体的な流れとしては、レンダリング(描画?)は各オブジェクト(敵、弾)のクラスのdrawメソッド(メソッド名は自由?)などで行い、
paintComponentはそれを呼び出すだけ。で、必要に応じてrepaint()を行うとpaintComponentが再描画されるという感じでしょうか?
- 514 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 00:59:58 ]
- paintのタイミングは自前のrepaintだけじゃないからそれはやっちゃだめ
ウインドウの重なり具合とかOSが画面をいきなりリフレッシュしたりとかあるから 各オブジェクトにdrawのインターフェースを実装させるという考え方はあってる レンダリングは自前でAというバッファへしてるとすると、 その間描画はBというバッファからイベントでフロントへ描画させる Aのレンダリングが終わったらAとBをいれかえて、次のフレームの描画はBへ行う バックバッファへのレンダリングとフロントへのレンダリングが重なる場合もあるという考え方ね
- 515 名前:503 mailto:sage [2007/12/08(土) 01:09:30 ]
- ダブルバッファがいまいち理解できてないのでもうちょっと勉強してみます。
答えてくださった方どうもありがとうございました
- 516 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 01:16:16 ]
- 本当はJavaでゲーム作成というスレがあったんだけど最近おちちゃったんだよな
ゲーム製作板とかいろいろと斜め読みしてみるといいかも
- 517 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 03:09:19 ]
- Javaでゲームってのはなかなか前衛的でおもしろいと思うんだが、
如何せんパフォーマンスが悪いのが致命的なんだよな。 いくら努力しても、一定以上FPSが上がらんとなるとどうしても敬遠したくなる。
- 518 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 06:27:05 ]
- 勉強として作るプログラムも題材の選び方はかなり重要だよ。
努力するほど深まって発展していく題材と、 底の浅いところですぐに打ち止めになるのがある。
- 519 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 08:27:04 ]
- 勉強の段階なら、何を作っても勉強になる。
- 520 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 08:28:32 ]
- Javaでエロゲぐらいなら作れそうじゃね?
- 521 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 09:47:04 ]
- アクションだろうがパズルだろうがなんでもできるんじゃないの。
ブロック崩しやテトリスくらいなら楽勝。 ゲーム専用機であるようなハデなアクションゲームを作りたいならお門違い。
- 522 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 09:49:46 ]
- あと速く動かしたいなら画面小さくすればいいんだよ。256 * 192とか。w
昔のアーケードゲームの解像度はせいぜいその程度だったしさ。
- 523 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 11:36:49 ]
- シューティングやアクションはともかくとして
リアルタイムシミュレーションとか向いてると思うけどな>java スレッド周りとか楽々作れるし
- 524 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 12:55:52 ]
- ゲ制作板で話せ
- 525 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 14:32:05 ]
- >>517
まじていってるの?
- 526 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 14:33:14 ]
- リアルタイムのアクションものも余裕で出来るよ
IntelCore2/2GHzでJavaで動かすとCネイティブだと1.6GHzくらいの速度になるけど それが問題になることはまずあるまい
|

|