スレタイはアプレットとの対比的な意味と考えてください。
Javaでのゲーム開発は賛否ありますが、国外では割と盛んになってきているように思います。
裏を返せば日本語だけでは情報が得辛い状況であり、寂しく開発してる人が多いのでは・・・。
関連スレ
JAVAアプリでゲーム
http://toro.2ch.net/test/read.cgi/gamedev/1033926010/
参考になりそうなサイト
・どのイメージタイプを使うべき?
http://weblogs.java.net/blog/chet/archive/2004/08/toolkitbuffered.html
・弱点と言われる?ベクタグラフィックス関連の改善
http://docs.oracle.com/javase/1.5.0/docs/guide/2d/flags.html
・大量のソースコードを公開して下さっている国内サイト
http://aidiary.hatenablog.com/entry/20040918/1251373370
・Java 2D games tutorial
http://zetcode.com/tutorials/javagamestutorial/
・出入りが最も盛んな?フォーラム
http://www.java-gaming.org/index.php
・スプライトシートの切り方等(国内)
http://sky.geocities.jp/kmaedam/java2/java2.htm
動画
3D Game Programming tutorial
・http://www.youtube.com/watch?v=iH1xpfOBN6M
探検
Javaで作るスタンドアローンゲーム
■ このスレッドは過去ログ倉庫に格納されています
1名前は開発中のものです。
2012/12/27(木) 16:04:18.62ID:rl+qGRHn234名前は開発中のものです。
2013/09/14(土) 18:11:37.03ID:cy1XSJ6p >>233
サンクス。null で良かったか
サンクス。null で良かったか
235名前は開発中のものです。
2013/09/14(土) 19:31:47.44ID:GBbBS2U3 Image をネットワークから読み込んでいる場合、まだダウンロードが完了しておらず、画像を表示できない場合がある
そのような場合に ImageObserver を指定しておくと、読み込みが完了したタイミングを知ることができる
そのタイミングで、例えば、読み込み完了した画像を改めて表示し直すことができる
闇雲に this を指定すれば何か役に立つというわけではない
そのような場合に ImageObserver を指定しておくと、読み込みが完了したタイミングを知ることができる
そのタイミングで、例えば、読み込み完了した画像を改めて表示し直すことができる
闇雲に this を指定すれば何か役に立つというわけではない
236名前は開発中のものです。
2013/09/14(土) 22:22:34.81ID:cy1XSJ6p237名前は開発中のものです。
2013/09/15(日) 20:30:00.65ID:cXwe4017 GCが動いてゲームループがトマトになる現象を防げるか…?
オプション: -XX:MaxGCPauseMillis=200
Sets a target value for desired maximum pause time. The default value is 200 milliseconds.
参照:
http://www.oracle.com/technetwork/articles/java/g1gc-1984535.html
オプション: -XX:MaxGCPauseMillis=200
Sets a target value for desired maximum pause time. The default value is 200 milliseconds.
参照:
http://www.oracle.com/technetwork/articles/java/g1gc-1984535.html
238名前は開発中のものです。
2013/09/19(木) 14:57:32.91ID:teJIpav3 .classファイルをバイナリエディタで見ると、先頭に
cafe babe
っていうマジックナンバーが見える。凝ってるな
cafe babe
っていうマジックナンバーが見える。凝ってるな
239名前は開発中のものです。
2013/09/27(金) 00:44:08.10ID:FOeLnzNv240名前は開発中のものです。
2013/09/28(土) 02:14:26.45ID:1G2ugWm1 javaがコーヒーブランド、cafeはコーヒー、+babeって説が一般的だけど諸説あるな。
babeってマジックナンバーは昔はたまに使ってたし。
babeってマジックナンバーは昔はたまに使ってたし。
241名前は開発中のものです。
2013/09/29(日) 17:08:46.52ID:kgbSHSbg javaでゲームって「now loading」のどさくさで(full)GC強制したくならない?
242名前は開発中のものです。
2013/10/09(水) 22:56:30.33ID:JeIpUTuA ざっとぐぐったらfullGCが呼ばれる処理を呼びだすことで間接的に可能っぽいねぇ
ここスタンドアローンってスレタイにあるけど
gcjに関する情報とかないでしょうか?
ゲームでgcj使ってる情報が少なくて、ライブラリ関係をどう扱えば良いのかがわからない・・・
特にライセンスがなんともよくわからない
ここスタンドアローンってスレタイにあるけど
gcjに関する情報とかないでしょうか?
ゲームでgcj使ってる情報が少なくて、ライブラリ関係をどう扱えば良いのかがわからない・・・
特にライセンスがなんともよくわからない
243名前は開発中のものです。
2013/10/10(木) 01:21:00.33ID:rWd2dlNb >>242
ライセンスはクラスパス例外のないGPLだから成果物もGPLになる。
ライブラリのリンクは元がnativeだとgcjが対応してない部分はリンクに失敗する。
これだけじゃん。いまでもwin用にはクロスコンパイルが必要かは知らん。
それよりgcjがAOTコンパイルしたバイナリよりjavaのJITコンパイルの方が早いからゲームには使いどころないと思うよ。
ライセンスはクラスパス例外のないGPLだから成果物もGPLになる。
ライブラリのリンクは元がnativeだとgcjが対応してない部分はリンクに失敗する。
これだけじゃん。いまでもwin用にはクロスコンパイルが必要かは知らん。
それよりgcjがAOTコンパイルしたバイナリよりjavaのJITコンパイルの方が早いからゲームには使いどころないと思うよ。
244名前は開発中のものです。
2013/10/24(木) 17:20:16.75ID:BIU10uO4 >>243
亀だけどありがとう、JITってそこまで進化してたんですね
亀だけどありがとう、JITってそこまで進化してたんですね
245名前は開発中のものです。
2013/10/24(木) 23:21:24.86ID:HkVOqNBP javaのJITコンパイラはキャッシュミスして脱最適化しても次の直近のタイミングで
別の最適化されてまたキャッシュされたりするしコンパイル時間かけてでも効率重視だから結構速いよ。
GCとかヒープのデカさが超ネックになってるから全体ではチューニングせんとパフォーマンスでないけど。
別の最適化されてまたキャッシュされたりするしコンパイル時間かけてでも効率重視だから結構速いよ。
GCとかヒープのデカさが超ネックになってるから全体ではチューニングせんとパフォーマンスでないけど。
246名前は開発中のものです。
2013/11/02(土) 21:57:26.98ID:wzULkq5O Javaっておいしい?
247名前は開発中のものです。
2013/11/03(日) 08:19:18.45ID:h3H0javF 初恋の味
248名前は開発中のものです。
2013/12/08(日) 20:51:14.66ID:K3VE5nXT249名前は開発中のものです。
2013/12/08(日) 20:52:04.42ID:K3VE5nXT あげ
250名前は開発中のものです。
2013/12/21(土) 23:50:19.82ID:iQvUwIgS Slickライブラリでゲームを作ってますが、
どこか参考になるページなどありますか?
ライブラリやyoutubeのチュートリアルを見て実際に動かしていますが、
使い方がイマイチわかりません。
どこか参考になるページなどありますか?
ライブラリやyoutubeのチュートリアルを見て実際に動かしていますが、
使い方がイマイチわかりません。
251名前は開発中のものです。
2013/12/23(月) 02:52:57.10ID:o56P3+7D サンプルコードが入ってるだろ
javadocとそれで分からないことだったら外人に聞いたほうが早いよ
javadocとそれで分からないことだったら外人に聞いたほうが早いよ
252名前は開発中のものです。
2013/12/26(木) 00:14:49.70ID:dQLQT8i8 >>206
JOGLでゲーム作ろうとしている俺涙目
JOGLでゲーム作ろうとしている俺涙目
253名前は開発中のものです。
2013/12/26(木) 00:33:50.91ID:Vr4Op8xr >>252
Minecraftでもやって自信出せ
Javaでも十分3Dゲームは作れるよ
ただ、やっぱりJavaでゲームっていうのはPC向けオンリーになっちゃうけどな
だけど任天堂とかPS、XboxがJavaVMのせてくれたら最強言語はJavaになると思うけどね俺は
Minecraftでもやって自信出せ
Javaでも十分3Dゲームは作れるよ
ただ、やっぱりJavaでゲームっていうのはPC向けオンリーになっちゃうけどな
だけど任天堂とかPS、XboxがJavaVMのせてくれたら最強言語はJavaになると思うけどね俺は
254名前は開発中のものです。
2013/12/26(木) 02:49:04.09ID:ERqude5/ 2Dゲーム製作の勉強がてらにJavaでゲーム作ってるけど
CPUがAMDのE-300で非力マシンなのに60フレームで640*480をヌルヌル描画出来て凄いわ。
これだけパフォーマンスあれば80〜90年代の2Dアーケード程度のゲームは
企画力とゲームデザイン能力があれば楽勝で作れそうだ。
ちなみに今のところゲーム用フレームワークは使わずに自力で擬似スプライトとか
衝突判定機能を作ってる。
ゲームパッドはフリーウェアさんが作った物で普通に使えてる。
とりあえずJavaで1本完成したらPlayStationMobileかiPadとかに移植しようと思う。
CPUがAMDのE-300で非力マシンなのに60フレームで640*480をヌルヌル描画出来て凄いわ。
これだけパフォーマンスあれば80〜90年代の2Dアーケード程度のゲームは
企画力とゲームデザイン能力があれば楽勝で作れそうだ。
ちなみに今のところゲーム用フレームワークは使わずに自力で擬似スプライトとか
衝突判定機能を作ってる。
ゲームパッドはフリーウェアさんが作った物で普通に使えてる。
とりあえずJavaで1本完成したらPlayStationMobileかiPadとかに移植しようと思う。
255名前は開発中のものです。
2013/12/26(木) 02:54:26.64ID:dQLQT8i8256名前は開発中のものです。
2013/12/26(木) 17:13:59.78ID:fCfxjEwL Swingはキーボードのボタン全部取れないのが嫌だわ
なんかいい方法ある?
なんかいい方法ある?
257名前は開発中のものです。
2013/12/26(木) 20:09:22.25ID:IHbxv94i なんでみんなSwing使うんだ
AWTだけじゃいかんの?
AWTだけじゃいかんの?
258名前は開発中のものです。
2013/12/26(木) 20:18:57.03ID:yA5nEDHu259名前は開発中のものです。
2013/12/26(木) 21:00:03.90ID:fCfxjEwL >>258
>パッド
たしかslickが内部で使ってるDirectInputのラッパー
row_input(だっけ)を使うかもっと高水準のライブラリを拾って来たいところ。
>AWT/Swing
ネイティブって普通はJNAで実装してるのかって意味になると思うが
エスパーするとDirect3D/OpenGLだよね?
Direct3D/OpenGLでは三角ポリゴンのテクスチャしか描画できない。
なのにJava/Graphics2Dで自由に図形描いたりできるということは
ソフトウェアレンダリングしてるから。
だから同じようにDirect3Dを内部で使っても
例えばDXライブラリとかより圧倒的に遅いんじゃないかな。
>パッド
たしかslickが内部で使ってるDirectInputのラッパー
row_input(だっけ)を使うかもっと高水準のライブラリを拾って来たいところ。
>AWT/Swing
ネイティブって普通はJNAで実装してるのかって意味になると思うが
エスパーするとDirect3D/OpenGLだよね?
Direct3D/OpenGLでは三角ポリゴンのテクスチャしか描画できない。
なのにJava/Graphics2Dで自由に図形描いたりできるということは
ソフトウェアレンダリングしてるから。
だから同じようにDirect3Dを内部で使っても
例えばDXライブラリとかより圧倒的に遅いんじゃないかな。
260名前は開発中のものです。
2013/12/26(木) 21:08:06.74ID:cBobrvWL クリックして進めるゲームはGUI使うもんだよね?
でもGUI途中で追加したりするのが難しいからマウスの反応拾ってやるべきなのかなあ
でもGUI途中で追加したりするのが難しいからマウスの反応拾ってやるべきなのかなあ
261名前は開発中のものです。
2013/12/26(木) 22:15:54.82ID:fCfxjEwL 例えばslickのフォーラムで見かけた話題だと、
「slickとswing GUIを組み合わせられるのか」という質問に対して
「簡単にできるけどswingの遅い描画と歩調を合わせてOpenGLが描画するから
OpenGLの速度がでなくなる。非推奨だよ」という回答があった。
一応slickにはOpenGLを使った自作ボタンを作る仕組みがあるのだが
JScrollPaneのOpenGL版などは用意されておらず、UI作るのは面倒。
そういったことがあるから、俺は結局swingだけでしょぼいゲーム作ってる。
「slickとswing GUIを組み合わせられるのか」という質問に対して
「簡単にできるけどswingの遅い描画と歩調を合わせてOpenGLが描画するから
OpenGLの速度がでなくなる。非推奨だよ」という回答があった。
一応slickにはOpenGLを使った自作ボタンを作る仕組みがあるのだが
JScrollPaneのOpenGL版などは用意されておらず、UI作るのは面倒。
そういったことがあるから、俺は結局swingだけでしょぼいゲーム作ってる。
262名前は開発中のものです。
2013/12/26(木) 23:44:15.36ID:Ct7GHZvi263名前は開発中のものです。
2013/12/27(金) 00:42:06.83ID:xQKugg9x そういや、JOGL使ってるとウインドウサイズを激しく動かした時とかにinitが呼ばれてしまうんだが、
そういうときってVRAMが初期化されるんだろうか。
VBO登録しなおしはともかくとして、シェーダーのコンパイルとかもやり直しになるのはけっこうストレスになるなあ…
そういうときってVRAMが初期化されるんだろうか。
VBO登録しなおしはともかくとして、シェーダーのコンパイルとかもやり直しになるのはけっこうストレスになるなあ…
264名前は開発中のものです。
2013/12/27(金) 02:02:34.89ID:RcX+Zbl3 なにそれDirect3D9/OpenGLでいうデバイスロストなら
フルスクリーン・ウィンドウモードの変更で起きるかもしれんが
Javaのせいじゃないぞ。
フルスクリーン・ウィンドウモードの変更で起きるかもしれんが
Javaのせいじゃないぞ。
265名前は開発中のものです。
2013/12/27(金) 05:17:41.48ID:P+1BALO6 >>258
ゲームパッドは
ttp://www.ayamenet.com/app/index.html
の人が作られたJInputというのを利用してますが
サンプルもあるので簡単に組み込めてイベント取得も簡単でした。
今日の作業でフルスクリーンで動かした時に処理に余裕があるのに
画面のコマ落ちが酷かったのが疑問だったけど、
DisplayModeのリフレッシュレートをDisplayMode.REFRESH_RATE_UNKNOWN
にしてたのが悪かったようだ、60にしたら
ヌルヌル動く様になった。
ゲームパッドは
ttp://www.ayamenet.com/app/index.html
の人が作られたJInputというのを利用してますが
サンプルもあるので簡単に組み込めてイベント取得も簡単でした。
今日の作業でフルスクリーンで動かした時に処理に余裕があるのに
画面のコマ落ちが酷かったのが疑問だったけど、
DisplayModeのリフレッシュレートをDisplayMode.REFRESH_RATE_UNKNOWN
にしてたのが悪かったようだ、60にしたら
ヌルヌル動く様になった。
267名前は開発中のものです。
2013/12/27(金) 17:00:30.44ID:iL78j3sI JInputって同名の海外のもあるよね
そっちはWindows以外にも対応してる
そっちはWindows以外にも対応してる
268名前は開発中のものです。
2013/12/28(土) 14:10:21.89ID:os0Do0OO269名前は開発中のものです。
2014/01/01(水) 00:57:35.76ID:bSKouUWX Javaは実用性が高くてフリーのネイティブコンパイラがあると相当に使いやすくなるんだけどね。
GCJだとまだ完成度に難があるし、完成度が結構高いExcelsiorJETは、ホビープログラマが個人で買うような値段じゃない。
GCJだとまだ完成度に難があるし、完成度が結構高いExcelsiorJETは、ホビープログラマが個人で買うような値段じゃない。
270名前は開発中のものです。
2014/01/01(水) 22:00:44.61ID:bSKouUWX ん、ノートPCのIntel HDG4000だと、GLSLでウィンドウの大きさが変わったreshape()の時に
VRAMが破壊されているにも関わらずinit()を呼んでくれないみたい。
IntelはOpenGL対応が弱いと言われてるけど、これはOpenGL対応の問題なのかGLSLとの相性なのか良く分からんな…
VRAMが破壊されているにも関わらずinit()を呼んでくれないみたい。
IntelはOpenGL対応が弱いと言われてるけど、これはOpenGL対応の問題なのかGLSLとの相性なのか良く分からんな…
271名前は開発中のものです。
2014/01/01(水) 23:33:21.62ID:TDYNLr8C 直にOpenGL書いてる?
SlickとかEasyWayで適当にウィンドウとスプライト貼って試してみたら?
それでOpenGLの使い方が間違っているのかハードウェアやランタイムの問題か
わかるでしょ。
http://www.jroller.com/bantunes/entry/java_game_engines_and_frameworks
SlickとかEasyWayで適当にウィンドウとスプライト貼って試してみたら?
それでOpenGLの使い方が間違っているのかハードウェアやランタイムの問題か
わかるでしょ。
http://www.jroller.com/bantunes/entry/java_game_engines_and_frameworks
272名前は開発中のものです。
2014/01/01(水) 23:52:05.83ID:bSKouUWX >>271
昔GL2で書いたコードを動かしたら普通に動いたので、GL3以降を使うと問題があるっぽい様子…
というかシェーダー関係なのかなあ…
自宅のGF560では問題なく動いてたコードなんで、ちょっと悩んでる。
帰省中に最近のOpenGLを勉強しようと思ったら、思わぬところでよく分からん事象に遭遇した。
昔GL2で書いたコードを動かしたら普通に動いたので、GL3以降を使うと問題があるっぽい様子…
というかシェーダー関係なのかなあ…
自宅のGF560では問題なく動いてたコードなんで、ちょっと悩んでる。
帰省中に最近のOpenGLを勉強しようと思ったら、思わぬところでよく分からん事象に遭遇した。
273名前は開発中のものです。
2014/01/03(金) 23:20:28.78ID:1Q3FtKvn そもそもopenglのポーティングは何使ってんの?
274270
2014/01/04(土) 00:05:52.26ID:ZD/ROmwt275名前は開発中のものです。
2014/01/04(土) 01:52:37.37ID:4Kus4sgx 関係有るかわからないけどJOGLはバージョン変わるたびに激変してるからwebの情報は古いよ。
自分で変更点追うしかない。
自分で変更点追うしかない。
276270
2014/01/04(土) 22:43:55.31ID:ZD/ROmwt 原因が分かったので報告。
VAOを使って描画した後、
glBindVertexArray(0)
を呼んでバインドを外してなかった。
GPUによって、それでも動作する場合と動作がおかしくなってしまう場合があるみたい。
VAOを使って描画した後、
glBindVertexArray(0)
を呼んでバインドを外してなかった。
GPUによって、それでも動作する場合と動作がおかしくなってしまう場合があるみたい。
277名前は開発中のものです。
2014/01/05(日) 17:57:44.52ID:Mpn6RVWq オブジェクト化されたOpenGL APIの規格ができるとゲーム作りなんかは随分楽になりそうだが、
そういうのはもっと上位のフレームワークでやれってスタンスなんだろうな
そういうのはもっと上位のフレームワークでやれってスタンスなんだろうな
278名前は開発中のものです。
2014/01/05(日) 18:15:21.07ID:cB3+M9N2 インスタンスつくってメソッド呼んでーって感じにしたらってこと?
279名前は開発中のものです。
2014/01/05(日) 18:33:29.28ID:Mpn6RVWq >>278
そうそう、VAOとかVBOとかがオブジェクトになる感じ
そうそう、VAOとかVBOとかがオブジェクトになる感じ
280名前は開発中のものです。
2014/01/05(日) 18:45:24.60ID:cB3+M9N2 >>279
確かに便利だけどそれやると言語によってはAPIにアクセスできなくなってしまうよ
確かに便利だけどそれやると言語によってはAPIにアクセスできなくなってしまうよ
281名前は開発中のものです。
2014/01/05(日) 19:01:50.30ID:Mpn6RVWq >>280
理想は、C言語(またはもっと低級な言語)を前提としたOpenGLと
JavaやC#やJavascripstを前提にしたOpenGL++の二本立てになるとありがたい
WindowsAPIとかもそんな感じになってなかったっけ?
とはいえ、Cからドライバにアクセスするための関数は容易に作れるけど、
オブジェクト指向言語のAPIとなるとそうはいかんからなあ…
理想は、C言語(またはもっと低級な言語)を前提としたOpenGLと
JavaやC#やJavascripstを前提にしたOpenGL++の二本立てになるとありがたい
WindowsAPIとかもそんな感じになってなかったっけ?
とはいえ、Cからドライバにアクセスするための関数は容易に作れるけど、
オブジェクト指向言語のAPIとなるとそうはいかんからなあ…
282名前は開発中のものです。
2014/01/05(日) 19:12:09.46ID:cB3+M9N2283名前は開発中のものです。
2014/01/05(日) 23:01:14.37ID:xXQO5mvS JavaFXでUSBゲームパッドの入力取りたくて、今JInputの>>267の方の海外版を
試してみてるんだけどやっぱ日本語情報ってないよね?
更新もかなり頻繁だし、フォーラムも賑わってるのに公式の
Getting Startedが2007年だからなんとも不安
試してみてるんだけどやっぱ日本語情報ってないよね?
更新もかなり頻繁だし、フォーラムも賑わってるのに公式の
Getting Startedが2007年だからなんとも不安
284名前は開発中のものです。
2014/01/09(木) 02:04:38.73ID:X+lgFy1k285名前は開発中のものです。
2014/01/11(土) 23:48:00.80ID:xr3zgGUx >>284
なるほど〜、サンクス
Slick使ってると、Ubuntuで実行したとき書き込み可能テクスチャいじってるとXlib関係のエラーが出て、
内容としては、Xシステムに複数のスレッドからアクセスすんな!みたいなのなんだけど、
mainだけのシングルスレッドで試しても起きるんだよね・・・。似たような経験した人いますか?
いろいろ試した感じだと、テクスチャの解放が終わらない内に次のテクスチャ生成すると起きるんだけど、
ライブラリ側でそういう風に出来てる以上、Sleep挟むくらいしか対処法ないのかな?
なるほど〜、サンクス
Slick使ってると、Ubuntuで実行したとき書き込み可能テクスチャいじってるとXlib関係のエラーが出て、
内容としては、Xシステムに複数のスレッドからアクセスすんな!みたいなのなんだけど、
mainだけのシングルスレッドで試しても起きるんだよね・・・。似たような経験した人いますか?
いろいろ試した感じだと、テクスチャの解放が終わらない内に次のテクスチャ生成すると起きるんだけど、
ライブラリ側でそういう風に出来てる以上、Sleep挟むくらいしか対処法ないのかな?
286名前は開発中のものです。
2014/01/12(日) 19:57:33.93ID:XBDcFGBU いってる意味分からん
Texture.release()を呼んでも直ちに開放されないってこと?
Texture.release()を呼んでも直ちに開放されないってこと?
287名前は開発中のものです。
2014/01/17(金) 23:03:46.53ID:Wfv0W6gk288名前は開発中のものです。
2014/01/21(火) 13:21:22.15ID:HN69Ellt 前からちょくちょくlinuxでopenGLの挙動がおかしいとか書いてる人?
そんなことばかりしてたら何も作れず時間ばかり無駄にしてしまうぞ
そんなことばかりしてたら何も作れず時間ばかり無駄にしてしまうぞ
289名前は開発中のものです。
2014/01/22(水) 02:34:00.21ID:4/7cpvbC それでなくても最近のOpenGLは難しいしな。
「久しぶりにゲームとか作りたいなあ。やっぱり漢ならエンジンから自作だぜ!」
と調子に乗ってたら、フォンシェーディングされた三角形をくるくる回すだけで2週間かかったぜ…
glBeginってなんだかんだで便利だったんだな
「久しぶりにゲームとか作りたいなあ。やっぱり漢ならエンジンから自作だぜ!」
と調子に乗ってたら、フォンシェーディングされた三角形をくるくる回すだけで2週間かかったぜ…
glBeginってなんだかんだで便利だったんだな
290名前は開発中のものです。
2014/01/22(水) 18:40:13.65ID:wHmsrBK5 矢印キーの押下状態を使いたいのですが
キーが離されたときには必ず key released イベントが発行されると考えて大丈夫でしょうか?
例えば処理がビジーになってるときでも、イベントが取りこぼされたりスキップされたり
しないで、遅れてでも必ずイベントハンドラを呼んでもらえると保証しても大丈夫でしょうか?
キーを離しているのに押しっぱなしと認識されてしまうと困るので
お願いします
キーが離されたときには必ず key released イベントが発行されると考えて大丈夫でしょうか?
例えば処理がビジーになってるときでも、イベントが取りこぼされたりスキップされたり
しないで、遅れてでも必ずイベントハンドラを呼んでもらえると保証しても大丈夫でしょうか?
キーを離しているのに押しっぱなしと認識されてしまうと困るので
お願いします
291名前は開発中のものです。
2014/01/22(水) 19:25:26.73ID:Oq+LUbbM 処理がビジーなら何を使うにしてもイベントは取りこぼすだろ
そんなことより、そんなにkeyreleasedの取りこぼしが気になるなら「keydownが連続で2回発生したらどうするか」という考え方で対処したほうが無難
そんなことより、そんなにkeyreleasedの取りこぼしが気になるなら「keydownが連続で2回発生したらどうするか」という考え方で対処したほうが無難
292名前は開発中のものです。
2014/01/23(木) 00:40:49.49ID:zd7YqPgB うう、そうか…キューにためておいてくれて必ずイベント発生してくれると期待していた
コードは
boolean up, down, left. right;
で
if( ↑キー押下 ) up = true;
if( ↑キー離す ) up = false;
なので、
key release を取りこぼした時点で失敗していて、
後から key down が2回発生したことを検出しても時すでに遅しなんです
コードは
boolean up, down, left. right;
で
if( ↑キー押下 ) up = true;
if( ↑キー離す ) up = false;
なので、
key release を取りこぼした時点で失敗していて、
後から key down が2回発生したことを検出しても時すでに遅しなんです
293名前は開発中のものです。
2014/01/23(木) 00:53:30.22ID:hfja1pt3 あれ、キューに溜まらないんだっけ?
特に意識してなかったけどなんか不安になったからウインドウのフォーカス判定見直しておこう
特に意識してなかったけどなんか不安になったからウインドウのフォーカス判定見直しておこう
294名前は開発中のものです。
2014/01/23(木) 01:01:38.27ID:y0vYWKn+ なんの話だろう?swingからdirect inputしかわからんが、
全てのキーの状態を毎フレーム取得して、前回と今回のデータから
判断するのが基本だよ
swingのKeyListenerはそのへん致命的やな
全てのキーの状態を毎フレーム取得して、前回と今回のデータから
判断するのが基本だよ
swingのKeyListenerはそのへん致命的やな
295名前は開発中のものです。
2014/02/12(水) 01:02:51.34ID:9PrO8hR2 Slick2D使ってちょっとしたゲーム作ってる
296名前は開発中のものです。
2014/02/14(金) 00:35:12.81ID:RASlhvE9 Javaの場合、2DならSwing直叩きでもどうにかなるような気がするけど、Slickって効率よくなるのかな?
Swingでも、加算半透明がない以外は2Dゲームを作るのに必要な機能は一通り揃ってる気がする。
Swingでも、加算半透明がない以外は2Dゲームを作るのに必要な機能は一通り揃ってる気がする。
297名前は開発中のものです。
2014/02/14(金) 00:43:22.41ID:mTpNkZDO Slickは音声の再生とか当たり判定?の機能が結構あったから、そういう部分を最初から作らなくて済むという点ではいいんじゃないかと思う。
でも日本語表示が面倒なうえに遅い。
でも日本語表示が面倒なうえに遅い。
298名前は開発中のものです。
2014/02/15(土) 17:49:18.48ID:XLIWRIqh >>297
まず、ビルボードフォントのロードが遅いのはしかたないよ。
それはロード画面でも作るしかない。
ただし、UnicodeFontでaddGlyphAscii()で半角英数全部読み込み、
addGlyph(unicode_start, unicode_end()で日本語数千文字全部読み込みは
やめたほうが良い。ロード重くてVRAM消費大きいのは当然。
使う文字だけaddGlyph(String text)ならOK。
でもチャットとか使う文字コード不明だと一工夫必要だな。
ただslickのばあい、"あいうえお"なら、
"あ","い","う","え","お"でそれぞれ別のテクスチャとして
生成or描画してる感はある。
slickのコードを参考にオレオレライブラリつくるべく、
OpenGLを少し勉強中だぜ^^
まず、ビルボードフォントのロードが遅いのはしかたないよ。
それはロード画面でも作るしかない。
ただし、UnicodeFontでaddGlyphAscii()で半角英数全部読み込み、
addGlyph(unicode_start, unicode_end()で日本語数千文字全部読み込みは
やめたほうが良い。ロード重くてVRAM消費大きいのは当然。
使う文字だけaddGlyph(String text)ならOK。
でもチャットとか使う文字コード不明だと一工夫必要だな。
ただslickのばあい、"あいうえお"なら、
"あ","い","う","え","お"でそれぞれ別のテクスチャとして
生成or描画してる感はある。
slickのコードを参考にオレオレライブラリつくるべく、
OpenGLを少し勉強中だぜ^^
299名前は開発中のものです。
2014/02/16(日) 14:14:02.89ID:alwCO1iA ゲーム作るときによく思うんだが、Javaは行列とかベクトルを標準ライブラリでサポートしてもいいんじゃないか?
自前で実装するとjavaコードでループ回して計算させることになるけど、
標準ライブラリに入っていれば、そこはベクトル化してSSEを使うとかの小細工が出来るだろうし。
自前で実装するとjavaコードでループ回して計算させることになるけど、
標準ライブラリに入っていれば、そこはベクトル化してSSEを使うとかの小細工が出来るだろうし。
300名前は開発中のものです。
2014/02/16(日) 16:34:35.48ID:xrpwGl5O >>299
完全に同意。
行列ライブラリは、自作しようにもJavaだとジェネリクスがただの型安全のための機能だから
C++みたいに使いやすくてカッコいいライブラリつくれないんだよね
拡張性と再利用性考慮してインターフェース駆使するとパフォーマンスゴミになるし、
かと言ってvecmathみたいに全部のプリミティブ型別で書いていくと面倒臭すぎる(double限定にしても良いかも知れないけど)
この部分の解決のためだけにScalaを使ってみようかなと思ってしまうほど
ただ、最近だとJVMが賢くなってプリミティブラッパ型で計算しまくっても
さほど遅くならないらしいね
完全に同意。
行列ライブラリは、自作しようにもJavaだとジェネリクスがただの型安全のための機能だから
C++みたいに使いやすくてカッコいいライブラリつくれないんだよね
拡張性と再利用性考慮してインターフェース駆使するとパフォーマンスゴミになるし、
かと言ってvecmathみたいに全部のプリミティブ型別で書いていくと面倒臭すぎる(double限定にしても良いかも知れないけど)
この部分の解決のためだけにScalaを使ってみようかなと思ってしまうほど
ただ、最近だとJVMが賢くなってプリミティブラッパ型で計算しまくっても
さほど遅くならないらしいね
301名前は開発中のものです。
2014/02/27(木) 00:55:40.21ID:Z09ptZ8a302名前は開発中のものです。
2014/02/27(木) 23:04:33.97ID:yUehUjJD >>299-301
行列とかベクトルって,3Dの?
俺はJava3D使ってるけど,インストールする(してもらう)の多少面倒だから,
確かに標準にあって欲しいねぇ.
# 標準だとLine2DやPoint2Dがあるくらいだよなぁ.
# Vectorはこの場合は違うものだし.
行列とかベクトルって,3Dの?
俺はJava3D使ってるけど,インストールする(してもらう)の多少面倒だから,
確かに標準にあって欲しいねぇ.
# 標準だとLine2DやPoint2Dがあるくらいだよなぁ.
# Vectorはこの場合は違うものだし.
303名前は開発中のものです。
2014/02/27(木) 23:10:39.87ID:IrJ/L48F304名前は開発中のものです。
2014/02/28(金) 15:32:00.06ID:0rEIeBjK 気になったんですが、
Javaでパソコンで動くスタンドアローンゲーム作るとしたら、
配布はjar形式でJVMにマウントしてもらうってことですか?
その場合、やはりプログラムコードの暗号化は諦めてるんでしょうか?
Javaでパソコンで動くスタンドアローンゲーム作るとしたら、
配布はjar形式でJVMにマウントしてもらうってことですか?
その場合、やはりプログラムコードの暗号化は諦めてるんでしょうか?
305名前は開発中のものです。
2014/02/28(金) 16:54:12.60ID:piLveIui 埋め込まれたクラス名や関数名から
容易にリバースされてしまうのの対策としては
難読化ツールを使うかもしれないが
難読化したバイトコードから読み取れるほど
スキルのある人に対しては自分は対策は諦めるな
容易にリバースされてしまうのの対策としては
難読化ツールを使うかもしれないが
難読化したバイトコードから読み取れるほど
スキルのある人に対しては自分は対策は諦めるな
306名前は開発中のものです。
2014/02/28(金) 21:41:33.68ID:0rEIeBjK307名前は開発中のものです。
2014/03/02(日) 16:49:33.89ID:4Ufi5mJP パッケージ名に使えるドメイン名を取得したいのですが何か方法はありますか?
Package BOF というのはあるんですが、もうサークル向け用に1つ取得してしまって
一人につき1つなので自分個人用のはもう取得できません
サーバ会社に申し込んでドメイン名を買うのもアリですが
毎年維持費がかかってしまうし、もし失効したときに
配布してしまったアプリをどうすればよいか分からないので困ります
できれば低コストでほぼ永続的にドメイン名を使わせてもらえる方法ないでしょうか?
Package BOF というのはあるんですが、もうサークル向け用に1つ取得してしまって
一人につき1つなので自分個人用のはもう取得できません
サーバ会社に申し込んでドメイン名を買うのもアリですが
毎年維持費がかかってしまうし、もし失効したときに
配布してしまったアプリをどうすればよいか分からないので困ります
できれば低コストでほぼ永続的にドメイン名を使わせてもらえる方法ないでしょうか?
308名前は開発中のものです。
2014/03/02(日) 17:32:49.38ID:eSGAMgB8 >>307
サークル用と個人用は完全に関連性を匂わせたくないってことでしょうか?
匂わせてもいいならサークル用に取得したドメイン以下で自ら割り振れば良いと思いますが
しかし、あのサービスってサークル用と個人用を別々に登録するのってダメなんでしょうかね?
よほど悪意のある登録の仕方(複数組織を名乗って片っ端から登録しまくるなど)をしない限り
違反だと言われることはないんじゃないかなぁとか、甘いこと考えていたのですが・・・
サークル用と個人用は完全に関連性を匂わせたくないってことでしょうか?
匂わせてもいいならサークル用に取得したドメイン以下で自ら割り振れば良いと思いますが
しかし、あのサービスってサークル用と個人用を別々に登録するのってダメなんでしょうかね?
よほど悪意のある登録の仕方(複数組織を名乗って片っ端から登録しまくるなど)をしない限り
違反だと言われることはないんじゃないかなぁとか、甘いこと考えていたのですが・・・
309名前は開発中のものです。
2014/03/02(日) 20:17:31.47ID:4Ufi5mJP >>308
確かにゆるい感じしますね
自分はいちおう規約まもっとこうかなと思っただけです
家族はたぶんこれからもプログラミングと縁はなさそうなので
家族に頼んで取得してもらうって使わせてもらうことにしました
確かにゆるい感じしますね
自分はいちおう規約まもっとこうかなと思っただけです
家族はたぶんこれからもプログラミングと縁はなさそうなので
家族に頼んで取得してもらうって使わせてもらうことにしました
310名前は開発中のものです。
2014/03/03(月) 11:37:03.81ID:0MFi7S0v JavaFX 8 の3D機能が結構使いやすそうなんだけど、速度ってどんくらいなんだろうね?
アクションは無理でもそれ以外のゲームに耐えうるくらいならニワカ3Dな俺歓喜
アクションは無理でもそれ以外のゲームに耐えうるくらいならニワカ3Dな俺歓喜
311名前は開発中のものです。
2014/03/05(水) 13:10:43.11ID:vvepHaRA RPGのダンジョンとかいけるんじゃね
312名前は開発中のものです。
2014/03/09(日) 16:08:21.47ID:UV7RBW8A SwingのときはSwingUtilities#invokeLaterに自作のループマネージャを登録して
FPS管理してたんだけど、JavaFXで同じようなことをやりたい場合はSwingと同じように
Platform#runLaterにループマネージャを登録するやり方と、JavaFX特有のTimeLineで
16ミリ秒ごと処理を呼び出すようにするのとではどっちが良いんでしょうかね?
他にも、JavaFXには「Task」って考え方があるようですが、これはループには
あまり向いてなさそうですね(毎フレームnewするのも気が引ける)
FPS管理してたんだけど、JavaFXで同じようなことをやりたい場合はSwingと同じように
Platform#runLaterにループマネージャを登録するやり方と、JavaFX特有のTimeLineで
16ミリ秒ごと処理を呼び出すようにするのとではどっちが良いんでしょうかね?
他にも、JavaFXには「Task」って考え方があるようですが、これはループには
あまり向いてなさそうですね(毎フレームnewするのも気が引ける)
313名前は開発中のものです。
2014/03/09(日) 16:39:31.94ID:zp5zMRCB SwingでSwing Timer使ってたけど自作のループマネージャってなんだろ
314名前は開発中のものです。
2014/03/09(日) 16:42:18.54ID:zp5zMRCB FX分からんけど、TimeLineはSwing Timerにあたるものだから
自分ならそちらでいく
自分ならそちらでいく
315名前は開発中のものです。
2014/03/10(月) 14:54:03.30ID:kt0u4e9M libgdxってのがslick2dの後継らしい
317名前は開発中のものです。
2014/04/20(日) 23:54:09.45ID:YswLFHGG やればいいんじゃね?
JOGLかLWJGLになるんだろうけど、ゲームを作る環境としては特に悪いとは思わない。
JOGLかLWJGLになるんだろうけど、ゲームを作る環境としては特に悪いとは思わない。
318名前は開発中のものです。
2014/04/21(月) 02:08:32.49ID:QMyWkepG 3Dのオブジェクトファイルとか読み込んで描画したり、物理演算に苦労するよ
物理演算等のライブラリは多数存在するけど、ドキュメントが英語だしイマイチ低機能、最低限の機能しかないからやめた方がいい
物理演算等のライブラリは多数存在するけど、ドキュメントが英語だしイマイチ低機能、最低限の機能しかないからやめた方がいい
319名前は開発中のものです。
2014/04/27(日) 11:00:01.59ID:w1gNzEbH そもそも何故java.awt.ComponentにPaintListenerが無いんだぜ?
void paint(Graphics g)なりpaintComponent の中で自前の部品を使って描画する時に、
gに紐付いたComponentのサイズや他の情報にアクセスする時に、
結局部品のコンストラクタなりでComponentを渡してやる必要がでてくるだろ。
ListenerでPaintEventさえもらえればそんに手間も要らなくなるし、
gと部品が受け取ったComponentとの不一致の可能性もなくなる訳だし。
1.7では軽量・重量コンポーネントの混在も可能になったりしてるし、
gがComponentと紐付いていないパターン(ただのImageとか)でも判断できるように作れる筈なんだけどな。
JLayerだっけ?あんなの利用させられるくらいなら、この方が楽だろ。
void paint(Graphics g)なりpaintComponent の中で自前の部品を使って描画する時に、
gに紐付いたComponentのサイズや他の情報にアクセスする時に、
結局部品のコンストラクタなりでComponentを渡してやる必要がでてくるだろ。
ListenerでPaintEventさえもらえればそんに手間も要らなくなるし、
gと部品が受け取ったComponentとの不一致の可能性もなくなる訳だし。
1.7では軽量・重量コンポーネントの混在も可能になったりしてるし、
gがComponentと紐付いていないパターン(ただのImageとか)でも判断できるように作れる筈なんだけどな。
JLayerだっけ?あんなの利用させられるくらいなら、この方が楽だろ。
320名前は開発中のものです。
2014/04/28(月) 01:11:27.19ID:NW1ufA+w もう少しまとめなさい
321名前は開発中のものです。
2014/04/28(月) 02:09:11.47ID:EfnjKw0Y paintイベントが発生したComponentを知る仕組みがイベントハンドルとして用意されてないから、
設計が素直にできないって話だよ。
swtにはあるし、他の有名なgui絡んだ言語じゃ当たり前にハンドルできるだろ。
何故ここを棄てたのか理解に苦しむ。
java.awt.ComponentでaddPaintListener()が出来て、普通にPaintEvent.getSource()できればスマートだろう。
ここを開放してないから、paintを弄り倒したいアプリだと、
paintのタイミングとは別の入り口でComponentを保持する必要が出てくる。
この制約のせいで、クラス設計がキモくなる。
それを無くす為に導入されたのがJLayerのつもりかもしれないが、余計にコードが汚くなるわ。
って話です。
設計が素直にできないって話だよ。
swtにはあるし、他の有名なgui絡んだ言語じゃ当たり前にハンドルできるだろ。
何故ここを棄てたのか理解に苦しむ。
java.awt.ComponentでaddPaintListener()が出来て、普通にPaintEvent.getSource()できればスマートだろう。
ここを開放してないから、paintを弄り倒したいアプリだと、
paintのタイミングとは別の入り口でComponentを保持する必要が出てくる。
この制約のせいで、クラス設計がキモくなる。
それを無くす為に導入されたのがJLayerのつもりかもしれないが、余計にコードが汚くなるわ。
って話です。
322名前は開発中のものです。
2014/04/28(月) 17:41:47.77ID:NW1ufA+w アプリにもよるけど、俺はコンポーネントをシングルトンにしてる
もしくはシングルトンクラスに相互参照するようなコンポーネントを全部いれてる
class UI {
private UI(){}
public static final object = new UI();
public MyWindow window = new MyWindow();
public MyCanvas canvas = new MyCanvas();
public MyTextPane text = new MyTextPane();
...
}
もしくはシングルトンクラスに相互参照するようなコンポーネントを全部いれてる
class UI {
private UI(){}
public static final object = new UI();
public MyWindow window = new MyWindow();
public MyCanvas canvas = new MyCanvas();
public MyTextPane text = new MyTextPane();
...
}
323名前は開発中のものです。
2014/04/28(月) 19:41:32.23ID:40qY12US 話の流れが良く判らんが、final付けとかないとダメだろ。参照を上書きされるぞ。
↓
public "final" MyWindow window = new MyWindow();
↓
public "final" MyWindow window = new MyWindow();
324名前は開発中のものです。
2014/04/30(水) 10:24:37.40ID:2hopiA0K final忘れてた。でも一人でやってるなら体裁はどうでもいのだよ
セッター・ゲッターとかね
主題は相互参照。それで俺は例を出したのだけど
オブジェクトの初期化・コンストラクタで循環しないように気をつけてな
セッター・ゲッターとかね
主題は相互参照。それで俺は例を出したのだけど
オブジェクトの初期化・コンストラクタで循環しないように気をつけてな
325名前は開発中のものです。
2014/05/01(木) 12:27:59.01ID:OWwKad9r たったこれだけの話なのに、>>322はどんな作り方すりゃそうなるんだ。
public class App extends Frame {
public static void main(String[] args) {
final App app = new App();
//(ry
app.setVisible(true);
}
private final Game game;
public App() {
game = new Game(this);
}
public void paint(Graphics g) {
game.paint(g);
}
}
class Game {
private final Component comp;
public Game(Component comp) {
this.comp = comp;
comp.addKeyListener(this);
comp.addComponentListener(this);
//comp.addPaintListener(this); ←これがありゃ楽だろ糞がって話。
}
public void paint(Graphics g) [
// ゲームの描画
}
}
public class App extends Frame {
public static void main(String[] args) {
final App app = new App();
//(ry
app.setVisible(true);
}
private final Game game;
public App() {
game = new Game(this);
}
public void paint(Graphics g) {
game.paint(g);
}
}
class Game {
private final Component comp;
public Game(Component comp) {
this.comp = comp;
comp.addKeyListener(this);
comp.addComponentListener(this);
//comp.addPaintListener(this); ←これがありゃ楽だろ糞がって話。
}
public void paint(Graphics g) [
// ゲームの描画
}
}
326名前は開発中のものです。
2014/05/01(木) 14:07:36.24ID:0k+QrX5J >>325
たったそれだけの単純な例ならPaintListenerだっていらないだろw
JSplitPane, JTabPane, JScrollPaneとかで何層にも囲まれている場合、
上に挙げた様なやりかたでごり押しするのがやりやすいというのが俺の経験則
たったそれだけの単純な例ならPaintListenerだっていらないだろw
JSplitPane, JTabPane, JScrollPaneとかで何層にも囲まれている場合、
上に挙げた様なやりかたでごり押しするのがやりやすいというのが俺の経験則
327名前は開発中のものです。
2014/05/01(木) 14:16:05.67ID:0k+QrX5J でも>>319の変な独り言ぶつぶつをよくみたら
そもそもComponent間の絡みという話ではないようだな
そもそもComponent間の絡みという話ではないようだな
328名前は開発中のものです。
2014/05/01(木) 14:31:37.25ID:OWwKad9r PaintListenerが存在すれば、Game側は相手が誰とか知る必要なく楽に書ける。
public class App extends Frame {
public static void main(String[] args) {
final App app = new App();
//(ry
final Game game = new Game();
app.addKeyListener(game);
app.addPaintListener(game);
app.setVisible(true);
}
}
class Game implements PaintListener {
public Game() {}
public void keyPress(KeyEvent e) {
final Component comp = e.getSource();
final int w = comp.getWidth();
// ゲームの更新
}
public void paint(PaintEvent e) {
final Component comp = e.getSource();
final Graphic g = e.getGraphics();
final int w = comp.getWidth();
// ゲームの描画
}
}
public class App extends Frame {
public static void main(String[] args) {
final App app = new App();
//(ry
final Game game = new Game();
app.addKeyListener(game);
app.addPaintListener(game);
app.setVisible(true);
}
}
class Game implements PaintListener {
public Game() {}
public void keyPress(KeyEvent e) {
final Component comp = e.getSource();
final int w = comp.getWidth();
// ゲームの更新
}
public void paint(PaintEvent e) {
final Component comp = e.getSource();
final Graphic g = e.getGraphics();
final int w = comp.getWidth();
// ゲームの描画
}
}
329名前は開発中のものです。
2014/05/01(木) 14:51:19.89ID:OWwKad9r >>326
> JSplitPane, JTabPane, JScrollPaneとかで何層にも囲まれている場合、
> 上に挙げた様なやりかたでごり押しするのがやりやすいというのが俺の経験則
一つのゲーム画面の中で利用される様々なUIにSwingを利用してる人?
それともゲームのメイン画面を表示するframeとは別に、メッセージウィンドウを別のframeに表示するような内容のもの?
こっちはUI自前で描画するので何言ってるのか良く判らんわ。
> JSplitPane, JTabPane, JScrollPaneとかで何層にも囲まれている場合、
> 上に挙げた様なやりかたでごり押しするのがやりやすいというのが俺の経験則
一つのゲーム画面の中で利用される様々なUIにSwingを利用してる人?
それともゲームのメイン画面を表示するframeとは別に、メッセージウィンドウを別のframeに表示するような内容のもの?
こっちはUI自前で描画するので何言ってるのか良く判らんわ。
330名前は開発中のものです。
2014/05/01(木) 15:39:15.05ID:0k+QrX5J 質問者が何をしたいのかさっぱりわからん
paint(Graphics g)のオーバーライドをしたくないだけか?
じゃあPaintListenerに代替する委譲を組み込んだ
abstract class GameWindow extends Frame でもあらかじめ定義すれば
いいだけの話だろう。コンポーネントはひとつなんだろうし。
>UI自前で描画するので
OpenGLを使ってるわけでもなさそうだし
マップとかパラメータのエディタの話だと思った
OpenGL Canvasを囲ってるswing UIとかとの連携とか面倒なとこなんで
paint(Graphics g)のオーバーライドをしたくないだけか?
じゃあPaintListenerに代替する委譲を組み込んだ
abstract class GameWindow extends Frame でもあらかじめ定義すれば
いいだけの話だろう。コンポーネントはひとつなんだろうし。
>UI自前で描画するので
OpenGLを使ってるわけでもなさそうだし
マップとかパラメータのエディタの話だと思った
OpenGL Canvasを囲ってるswing UIとかとの連携とか面倒なとこなんで
331名前は開発中のものです。
2014/05/01(木) 17:08:16.54ID:OWwKad9r ここは質問スレじゃねーよ。
> abstract class GameWindow extends Frame でもあらかじめ定義すれば
> いいだけの話だろう。コンポーネントはひとつなんだろうし。
たかがComponentのKey, Mouse, +αのイベントをトリガーとして、
そのComponentのGraphicsに対して描画するだけのプログラムなのに、
何で態々GameWindow なんて作らないといけないのか判らん。
public class App {
public static void main(String[] args) {
}
> abstract class GameWindow extends Frame でもあらかじめ定義すれば
> いいだけの話だろう。コンポーネントはひとつなんだろうし。
たかがComponentのKey, Mouse, +αのイベントをトリガーとして、
そのComponentのGraphicsに対して描画するだけのプログラムなのに、
何で態々GameWindow なんて作らないといけないのか判らん。
public class App {
public static void main(String[] args) {
}
332名前は開発中のものです。
2014/05/01(木) 17:10:21.32ID:0k+QrX5J もう好きにやったらいんじゃないの?
単なる好みの話のようだし
単なる好みの話のようだし
333名前は開発中のものです。
2014/05/01(木) 17:11:48.98ID:OWwKad9r ミスった。
public class App {
public static void main(String[] args) {
final Frame frame = new Frame();
final Game game = new Game(); //
frame .addKeyListener(game); // この三行だけで済む←(1)
frame .addPaintListener(game); //
frame.setVisible(true);
}
}
これで済む話だから愚痴ってんだろ。
それからゲーム自体が所詮はイベントをハンドリングし、ハンドリング対象に描画するだけのプログラムなのだから、
Frameの中のPanelの中の適当なComponentに対して、素直に(1)だけすりゃサクッと動く訳なんだから。
それを自前のComponentクラスを作って使うとか、設計的に糞だな〜。とぼやいただけ。
public class App {
public static void main(String[] args) {
final Frame frame = new Frame();
final Game game = new Game(); //
frame .addKeyListener(game); // この三行だけで済む←(1)
frame .addPaintListener(game); //
frame.setVisible(true);
}
}
これで済む話だから愚痴ってんだろ。
それからゲーム自体が所詮はイベントをハンドリングし、ハンドリング対象に描画するだけのプログラムなのだから、
Frameの中のPanelの中の適当なComponentに対して、素直に(1)だけすりゃサクッと動く訳なんだから。
それを自前のComponentクラスを作って使うとか、設計的に糞だな〜。とぼやいただけ。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】トランプ大統領、中国の習近平国家主席を「国賓」として招待することに ★2 [ニョキニョキ★]
- 日本と中国を結ぶ12航空路線で全便欠航 中国人に最も人気の海外旅行先は日本から韓国に [ぐれ★]
- 米中電話会談、トランプ氏は「米国側は中国にとっての台湾問題の重要性を理解する」 [1ゲットロボ★]
- 【東京・足立の車暴走】赤信号無視か 危険運転致死傷疑いも視野に捜査 逮捕された職業不詳の男性(37)は精神疾患で通院歴も ★3 [ぐれ★]
- 【音楽】「なんでこんなバカが国のトップなの?」 若者に人気のバンド「GEZAN」のマヒトゥ・ザ・ピーポーが高市総理に苦言 [シャチ★]
- 【国際】トランプ氏、来年4月に中国を訪問する招待を受け入れる 習氏も国賓で訪米へ 電話会談 [ぐれ★]
- 専門家「社会不安や不満が高まると、人々は原因を単純化し外集団を脅威として捉えやすくなります」政権批判か?😡 [399259198]
- 【高市悲報】来年、習近平主席がアメリカに「国賓」として訪米。どうするんだよ高市・・・アメリカも敵に回すのか? [483862913]
- 【画像】なんか模型屋さんにいかにもお前らが好んでそうなアキバ系のアニメ?のキャラいたけどこれなに?
- ゲーム史に残る超名作・アルトネリコの続編が出ない理由
- フィフィ「外国人だろうが日本人だろうが反日は要らんのよ、この国に…自分にとって住みやすい国に行け。」 [856698234]
- (´・ω・`)寂しい男性達
