【JAVA】2Dアクションゲームを作る【初級】
■ このスレッドは過去ログ倉庫に格納されています
0001ヤンス
04/09/08 09:17ID:Qk2n0ep6二ヶ月くらい前から勉強を始めて最近やっと、ショボイながらも記念すべき
人生初の自作ゲームを作って今、第二作目を作っている所なのですが、やり方の
分からない処理が多すぎて困っております。
勿論ネットや本等で調べまわった上でスレを立てました、何でこんな処理が
分からないんだよと思われるでしょうけれど指導の方お願いします。
上級者の方達と質問のやり取りをしたいのです。
当面の目標は倉庫番、ロードランナー、ドンキーコング等の1画面固定タイプの
やつを作ろうと思います、とりあえず現段階で二次元配列を使っての
マップと自機の表示まで出来てます、二次元配列を使って表示した
マップの壁などに、どうやって当たり判定を付けるかで躓いてます
当たり判定の付け方の考え方など教えて貰えたら、ありがたいです。
ちょっと爪垢が溜まってきたので、また後ほど書きたいと思います。
0002名前は開発中のものです。
04/09/08 09:19ID:0Q/9gEvuよって糞スレ。
0003関連スレ
04/09/08 11:02ID:HRipED+Thttp://pc5.2ch.net/test/read.cgi/gamedev/1074347252/
Javaでゲーム作る話してるキチガイがいるよ(藁
http://pc5.2ch.net/test/read.cgi/gamedev/1013953851/
Javaアプレットのゲームの限界は!
http://pc5.2ch.net/test/read.cgi/gamedev/1005230153/
JAVAアプリでゲーム
http://pc5.2ch.net/test/read.cgi/gamedev/1033926010/
Delphiでアクションゲームが作りたい!! Part2
http://pc5.2ch.net/test/read.cgi/gamedev/1027482533/
3Dアクションゲームの設計
http://pc5.2ch.net/test/read.cgi/gamedev/1092865676/
アクションゲーム制作ツールをかき集めるスレ
http://pc5.2ch.net/test/read.cgi/gamedev/1081134410/
モナーのアクションゲー作りました
http://pc5.2ch.net/test/read.cgi/gamedev/1035868749/
C言語でアクションゲームが作りたい
http://pc5.2ch.net/test/read.cgi/gamedev/1020417733/
STGを最初からみんなで作るスレ
http://pc5.2ch.net/test/read.cgi/gamedev/1014709311/
【初心者】課題をクリアしていくスレ【講習会】
http://pc5.2ch.net/test/read.cgi/gamedev/1086858349/
初心者たちが勉強しながらBattleCityを作るスレ
http://pc5.2ch.net/test/read.cgi/gamedev/1086075386/
初心者専用スレ「パックマン」風ゲーム作らない?
http://pc5.2ch.net/test/read.cgi/gamedev/1014326802/
初心者専用スレ「シミュレーションゲーム」を作らない?
http://pc5.2ch.net/test/read.cgi/gamedev/1079745509/
ズブの初心者がゲーム作れるまで勉強するスレ
http://pc5.2ch.net/test/read.cgi/gamedev/1005132370/
0004名前は開発中のものです。
04/09/08 11:08ID:HRipED+Thttp://pc5.2ch.net/test/read.cgi/gamedev/1078502309/
総合発表&雑談スレッド
http://pc5.2ch.net/test/read.cgi/gamedev/1033812109/
物凄い勢いで誰かが企画をたてるスレ
http://pc5.2ch.net/test/read.cgi/gamedev/1005259344/
【目指せ】ゲーム製作マラソン【完成】
http://pc5.2ch.net/test/read.cgi/gamedev/1093766683/
自作ゲーム評価スレ
http://pc5.2ch.net/test/read.cgi/gamedev/1010018331/
【総合】自治スレッド@ゲーム製作技術板2【統合】
http://pc5.2ch.net/test/read.cgi/gamedev/1078748838/
段階的学習!
http://gamdev.org/w/?%5B%5B%C3%CA%B3%AC%C5%AA%B3%D8%BD%AC%A1%AA%5D%5D
ゲーム製作技術板公式Wiki
http://gamdev.org/w/
ゲーム製作技術板公式アップローダ
http://gamdev.org/up/
0005名前は開発中のものです。
04/09/08 11:21ID:HRipED+Thttp://pc5.2ch.net/test/read.cgi/tech/1062310183/
【徹底討論】Java3Dの可能性について考える
http://pc5.2ch.net/test/read.cgi/tech/1033703640/
gcjって使ってる人います?
http://pc5.2ch.net/test/read.cgi/tech/1046627795/
プログラム素人がJAVAの基礎を学ぶには
http://pc5.2ch.net/test/read.cgi/tech/1047436727/
【初心者】Java質問・相談スレ52【大歓迎】
http://pc5.2ch.net/test/read.cgi/tech/1093267533/
iモード携帯電話用Java(iアプリ) Part 6
http://pc5.2ch.net/test/read.cgi/tech/1091286071/
0006名前は開発中のものです。
04/09/08 13:19ID:HRipED+Thttp://www-6.ibm.com/jp/developerworks/java/030704/j_j-mer04293.html
0007名前は開発中のものです。
04/09/08 13:58ID:axWRME1Yおまえていどのやつはいくらでもいるんだよクズが
0008ヤンス
04/09/08 15:24ID:Qk2n0ep6まだチェックしていないスレッドがありました
早速読みに行ってきます、有り難う御座います!
まあ、実際問題クズなんで、これからも宜しく。
0009名前は開発中のものです。
04/09/09 00:32ID:lXEC1B6xこれがきっかけで業界に入って、自信をつけて、ガンガンコード書いて
そのうち仕様とか決めれる立場になって、残業とかで1週間家に帰れなかったりして、
株で儲けて退職して行く同僚を羨ましげに眺めたりして、
気づけば30過ぎてそれでも嫁さん居なかったりして、
いままでPCにつぎ込んだ金額を計算して愕然となったりして、
親の言う通りに公務員になっておけばよかったなとか思うかも知れないけど、
今はガンバレ!
俺は応援してるよ。
あとHRipED+Tには礼を言っておけよ。
0010ヤンス
04/09/09 01:46ID:arw9tEgyどうも有り難う御座いました!
おかげさまで引っ掛かっていた問題が解けそうな気配です。
間違えて>>7にお礼を言ってしまっていた・・・
>>9
どうもです!
何気にプログラムやグラフィック等は趣味で留めて置くのが楽しいかなと
思いました、なので小さな頃ファミコンで遊んでた時
なんでこうゆうゲーム(まだアイデア等固まって無いので仕様とかは書けないですが)が
無いのかなと思ったやつを
自分で作れればいいかなあと。
まだまだ未熟者の上、髪型もオカシイですが頑張ります!
0011名前は開発中のものです。
04/09/12 09:03:06ID:89in4wvs自分はアクションよりRPG(DQみたいなの)好きなのでJavaで書く練習してる。
あげ
0012名前は開発中のものです。
04/09/12 21:09:16ID:Fx/3T5NOいつも悩むのが速度調整なんだ。
現在時刻の取得、インターバルタイマ、sleepやwaitメソッド、どれをとっても
20ミリ秒程度の精度しかない。
どうやったらどのマシンでも同じ速度で動かせる?
0013関連スレ(シューティング)
04/09/12 22:58:39ID:V/gfmIdVhttp://game8.2ch.net/test/read.cgi/game/1094563437/
シューティングゲーム製作技術総合 4機目
http://pc5.2ch.net/test/read.cgi/gamedev/1092048824/
★シューティングゲームは終わらない-STAGE32-
http://game8.2ch.net/test/read.cgi/famicom/1092042431/
PCエンジンシューティング総合スレ
http://game9.2ch.net/test/read.cgi/retro/1076413725/
下手の横好きシューティング5
http://game8.2ch.net/test/read.cgi/gsaloon/1090942682/
さて、3Dシューティングでも作るか
http://pc5.2ch.net/test/read.cgi/gamedev/1045989093/
フライトシューティング隔離スレッド
http://game9.2ch.net/test/read.cgi/fly/971843679/
0014名前は開発中のものです。
04/09/12 23:51:11ID:Uwc56kdhスリープ間隔を20ミリ秒以上にする
0015名前は開発中のものです。
04/09/14 00:36:09ID:OuV1fMqkOSは?
001612
04/09/14 18:19:59ID:o257G0XK>>14
実際のスリープ時間が20ミリ秒だったのか25ミリ秒だったのか取得できません…
また、演算や描画に何ミリ秒かかったのかの計測もできてません。
>>13
手持ちのOSはWindows98SEとXPです。
知り合いもWindowsしか持っていません。サイトの来訪者もWindows系がほとんどです。
Javaアプレットで作成する以上MacやUNIX系でも検証しておきたいとは思っています。
一時期こんな方法をとっていました。
while(終了条件)
{
count = 0;
while(1秒間)
{
処理();// 常にほぼ一定処理時間となるよう期待してダミー処理を含めてある
Thread.sleep(ウェイト値)
count++;
}
if(count<目標FPS値)ウェイト値--;
if(count>目標FPS値+2)ウェイト値++;
}
0017名前は開発中のものです。
04/09/14 20:43:22ID:OuV1fMqkTimerTaskとObject.waitが最有力
0018名前は開発中のものです。
04/09/14 21:18:11ID:OnFUzIY5サンプルキボンヌ
001912
04/09/14 21:46:30ID:ckBU9Z+eJAVAでゲーム作成
http://pc5.2ch.net/test/read.cgi/gamedev/1074347252/l50
の49レス群で検討されている方法でしょうか(実は私のレスですがw)。
他の話もご存知のようなので、是非お聞きしたいです。
>>18
速度調整に的を絞ったサンプルをいくつか書いてみます。
コーディング速度は遅いですが日付が変わるまでには何とか。
002017
04/09/14 23:18:31ID:OuV1fMqkLinux等Win以外での動作安定度もこの方法が一番よかったのが決定だかな
ポーリングはJavaの仕組みを考えれば効率悪いのはあきらかだしね
hotspotはプログラムが動いている間にバックグラウンドでコンパイルが進んでいるわけだし
コレが阻害されるというのは結果としてよくない
-XX:+PrintCompilationとかつけて実行してみなされ
0021名前は開発中のものです。
04/09/14 23:57:14ID:ckBU9Z+eものすごく短くて単調なので期待しないでください。
http://gamdev.org/up/img/1234.zip
私は「フラっとサイトを訪れた一般ユーザが何の抵抗もなくサンプルを閲覧できる可能性が高い」ことを
最優先事項にアプレットを作っているので、まじめにゲームを開発するこの板は趣旨が合わないのかも
しれません。
0022名前は開発中のものです。
04/09/15 07:53:36ID:fzloy3Ue帰ってきてから見せてもらいます。
サンクス!
0023名前は開発中のものです。
04/09/18 20:12:15ID:j8Y6GvgWわざわざ圧縮しないでください!
002412=21
04/09/21 07:25:09ID:RcSzxkaTスレッド1 while(終了条件){処理();wait();}
スレッド2 while(終了条件){wait(33);notify();}
一部の環境ではうまくいきましたが、別の環境ではnotify()実行直後に処理()が開始しされてしまい、
それが終わってからwait(33)で待ちが始まるため全く調整の意味がありませんでした。
でも良く考えたら、
スレッド1 while(終了条件){処理();wait();wait(1);}
スレッド2 while(終了条件){wait(33);notify();}
とすればスレッド2だけがbusy扱いになって先にwait(33)が実行されるのでは?
朝の寝ぼけた頭で考えてるので、落ち着いてからまたサンプルを作ってみます。
0025ヤンス
04/09/23 21:20:06ID:FBDpqX5t右向いて撃った後、左を向くと弾まで一緒に左を向きやがる・・・
0026名前は開発中のものです。
04/09/23 21:20:58ID:aZqAfyms0027名前は開発中のものです。
04/09/23 21:31:25ID:teKJ9g460028名前は開発中のものです。
04/09/24 10:47:48ID:rxnCqiG60029名前は開発中のものです。
04/09/25 02:11:22ID:m5HAIfizこれは出来てないの?
003012
04/10/02 12:36:34ID:jCcM5OdIWindowsXP上のVMでwaitメソッドを実行した場合の精度は15msのようです。
確実に指定した期間以上スレッドを停止させるため、端数は繰り上げになります。
つまり、30FPSを実現しようとしてwait(33)を実行すると、実際にはwait(45)を
実行したのと同じになり、期待した速度調整がまったくできなくなります。
Windowsネイティブアプリケーションの場合、APIのtimeBeginPeriodを呼び出す
ことでタイムスライシング全体の精度を上げるようになっているようです。
実際に別タスクでtimeBeginPeriodを呼び出すアプリケーションを実行している間は、
JavaVMのwaitメソッドの精度も向上しています。終了させた途端に精度は落ちます。
この現象は、SunのVMでもIEに付属のMicrosoftVMでも再現するようです。
今のところjavaのプログラムから明示的にwaitの精度を上げる方法がみつかりません。
とりあえず、
スレッド1 while(終了条件){処理();wait();}
スレッド2 while(終了条件){notify();wait(30);}
としておくのがWin95系でもNT系でも一番安定するようですが、他のOSでどんな挙動を
するかはまったく調査していませんし、好ましい記述とはかけ離れています。
003112
04/10/02 12:37:54ID:jCcM5OdI※VC6.0のコンソールアプリケーションで作成し、winmm.lib等をリンクする
#include <windows.h>
#include <mmsystem.h>
#include <conio.h>
int main( int argc , char *argv[])
{
timeBeginPeriod(1);
getch();
timeEndPeriod(1);
return 0;
}
0032名前は開発中のものです。
05/01/26 12:47:35ID:F1s8Zwef0033名前は開発中のものです。
05/01/26 13:11:34ID:iPs053oe0034名前は開発中のものです。
05/01/26 18:51:37ID:DaQEkIt1・ガベージコレクションが動作するタイミングを制御できない
これがゲームにおける時間管理のネックになっとるわけだが、
Sunはガベコレの禁止と強制のAPIは作ってくれないのだろうか。
0035名前は開発中のものです。
05/01/26 20:43:03ID:iPs053oeもしねっくになってるならメモリ管理やばいかもね
メモリの使用量を把握してnew領域でのGCだけに専念させるだけ
0036名前は開発中のものです。
05/01/27 00:21:06ID:dod+XOt2( ゚д゚) ポカーン
0037名前は開発中のものです。
05/01/27 00:42:29ID:ZTZ4mfiFWindowsでたまに垂直同期取りこぼすとかその程度と同じ話だし
完璧もとめるならRTOSいけ
0038名前は開発中のものです。
05/01/27 01:13:44ID:3sf5TT/zまずはそれからだ。
0039名前は開発中のものです。
05/01/27 01:50:45ID:Zc+qNABH0040名前は開発中のものです。
05/01/27 02:12:53ID:3sf5TT/z0041名前は開発中のものです。
05/01/27 21:57:36ID:fopdIjFa0042名前は開発中のものです。
05/01/28 16:20:14ID:qY41Ezue0043名前は開発中のものです。
2005/12/15(木) 21:44:28ID:0EyZOrrF0044名前は開発中のものです。
2006/01/08(日) 10:07:24ID:xb+qmFYY0045名前は開発中のものです。
2006/01/08(日) 10:31:34ID:Q5IJU6st0046名前は開発中のものです。
2006/01/08(日) 14:46:19ID:3CJHpBe+0047名前は開発中のものです。
2006/03/15(水) 08:46:55ID:916ZRAwJ0048名前は開発中のものです。
2006/04/15(土) 01:26:13ID:sf5nUDiw0049名前は開発中のものです。
2006/04/15(土) 22:26:15ID:lpccgP2z,,..,,...,,
〃´, 〜〜ヽ
| | iイノリ从)〉
ゝ|リ|!.゚ ヮ゚ノi
Ci}~レπv{~つ[ 夢 ]
ノ!( ,i , )
~し'ノ~
0050名前は開発中のものです。
2006/09/09(土) 19:16:23ID:Etye9TEO0051名前は開発中のものです。
2006/09/15(金) 18:02:34ID:hLFPrz9kあの……落としものですよ?
.∧__,,∧
(´・ω・`)
(つ夢と)
`u―u´
あなたのすぐ後ろに落ちていましたよ?
たとえあなたの夢が叶わなかったとしても…
.∧__,,∧
(´・ω・`)
(つ夢と)
`u―u´
叶えようとしたあなたの心を捨てないで下さいね…
0052名前は開発中のものです。
2006/11/24(金) 01:07:03ID:HeoETDlJ0053名前は開発中のものです。
2006/11/26(日) 15:41:54ID:1oJzDjvL0054名前は開発中のものです。
2006/11/26(日) 19:26:37ID:8IgW2e6l0055名前は開発中のものです。
2006/12/01(金) 11:09:36ID:LC+/aYM5未だにアプレットの作り方すらよーわからんです。(^^ゞ
ttp://www.perfect-logic.net/SampleAction/
0056名前は開発中のものです。
2006/12/01(金) 18:01:06ID:y3AgeiUV■自主製作ゲーム:開発状況報告スレVer0.7■
http://pc8.2ch.net/test/read.cgi/gamedev/1153179462/
0057名前は開発中のものです。
2006/12/01(金) 18:23:44ID:LC+/aYM5ありがとうございます〜。
スレッドを一通り読んでみたら、告知してみますね♪
0058名前は開発中のものです。
2007/02/27(火) 00:27:51ID:aBqJ/Obcどこがゲーム製作に向いてないのでしょう
0059名前は開発中のものです。
2007/02/27(火) 02:13:15ID:vI3+be/W海外では普通に3Dもバリバリ使われてるし
日本でのJava使い=業務用というイメージかね
そのうちでてくるでしょ
去年JOGL1.0になったばかりだし
0060名前は開発中のものです。
2007/02/27(火) 08:32:11ID:Qf1ALB7Eあとはゲーム作成のノウハウがまだ整っていないところかな
まあ速度はハードやAPIが速くなってきてるし
時間の問題かも
なんでもタダで環境揃うし俺みたいな貧乏人にはいい環境なんですがね
JAVAは
0061名前は開発中のものです。
2007/02/27(火) 10:52:16ID:no4sgWaCエミュレーター?
0062名前は開発中のものです。
2007/02/27(火) 11:33:50ID:B4ufeums2Dアクションゲームで処理速度が足りないなんてあまりなさそうだが
0063名前は開発中のものです。
2007/02/27(火) 13:58:54ID:eZOuwfTZ動作にランタイムが必要な点で嫌ってる
0064名前は開発中のものです。
2007/03/03(土) 08:01:40ID:94HMLa1l速度も描画作法無視した描画やらない限り十分過ぎる。
javaが遅いとか今時言ってる連中は頭が1.3の暗黒時代で止まってる。
3Dの方ならそもそも高級すぎるんでゲーム向きじゃない。JOGLも1.0出したからこれから。
0065名前は開発中のものです。
2007/03/03(土) 22:20:31ID:4ndYI6Y/というか自分のサイトではjava web start使うようにするわ。
0066名前は開発中のものです。
2007/03/08(木) 22:45:43ID:v+aMbBg1まぁ、それも後数年だよ。
そのうちパソコンはみんなJavaベースのOSで動いてJavaアプリを動かすための環境になる。
WindowsやらMacといった旧型OSの方が、JavaベースOS上のランタイム(エミュレータ)で動くようになるだろうね。
0067名前は開発中のものです。
2007/03/09(金) 03:37:19ID:l4bht04N0068名前は開発中のものです。
2007/03/09(金) 14:46:34ID:UpVLWozuそのエミュ上にさらにJavaランタイムが必要になりそうな
0069名前は開発中のものです。
2007/03/09(金) 15:52:55ID:uJO/ivat実際ルータとかレコーダとかそういうのでも起こってるし
組み込みのプログラムの規模の肥大化にあわせてアプリ側もヒープの動的確保使わないとやっていられなくなってるし
0070名前は開発中のものです。
2007/03/10(土) 12:22:18ID:xgekqMwwFlashのメニューみたいな。携帯化するよw
エージェントの様なシステムと組み合わせる時にJavaOS使えるかもね。
カーナビにタチコマ、そこからネットワーク介して思考戦車に移動、電脳に移動とか下にあるモン意識せず共通に仮想化出来て。
まあスレチだが
0071名前は開発中のものです。
2007/03/10(土) 13:13:11ID:NZYMmz3aこれからのゲームはMIDP2.0が標準になるだろうね。
携帯ではすでに当たり前の存在になりつつあるし、パソコンでも利用可能。
機能も本格的なフレームバッファや標準的なサウンド機能とゲーム開発には十分だし。
MIDPで開発すれば「一度書けばどこでも動く」Java本来の世界に逝くことができる。
0072名前は開発中のものです。
2007/03/10(土) 14:14:32ID:/HVMBhqBJavaSE以上にヒープや使えるマシンパワー、メモリ速度が違いすぎてそれがネックになりやすい
あくまでも同一言語で開発が出来て移植が容易という程度だな
同じキャリア内でもゲームとかが個別に対応してる現状を考えるとなおさら
0073C使い
2007/03/17(土) 20:31:37ID:e0pLCHEgこれからはJAVAの時代がくるかもって本気で思った。
eclipseほどのソフトが無料だったら
インディアやチャイニーズのJAVA人口増えそう。
もちろんジャパニーズも
0074名前は開発中のものです。
2007/03/18(日) 01:44:09ID:/FCakVJuGoogleも基幹システム実はJavaつかってましたというのもわかっちまったしなぁ
0075名前は開発中のものです。
2007/03/19(月) 00:09:04ID:0mpAkYzl0076名前は開発中のものです。
2007/03/19(月) 21:03:58ID:Zu/PHoBBただ少し古めの統合ビデオだときつい
915GM以降がターゲットならまったく問題はないが
0077名前は開発中のものです。
2007/03/19(月) 21:43:02ID:UrJuPpg+具体的にGF4程度の性能はある?
915GM以降ってよく聞くんだけど偶然かな・・・
0078名前は開発中のものです。
2007/03/19(月) 23:02:35ID:Zu/PHoBB855GMEなど世代目まではDirectXは6くらいまでしかサポートしておらず3Dはおまけ程度
それでFF11が動かなかったが915以降はDirectX9対応して動くようになった
3Dの速度も一気に3倍くらい速くなってる感じ
さすがにGF4までの速度はいってないよ
統合チップとしては3Dもかなりのものになったのが915GM
GeForce4 MX クラスになったと思えば近いかも
ただ、当時より圧倒的にCPUやらメモリの量やらバス帯域やらよくなってるので実現できるものが違いすぎる
915GMなら比較的新しいから性能が低すぎることもなくサポートしやすいってのも大きいね
ちなみにMがつくとノート用なのでノート用としてみるとUMAビデオとしてはかなり高性能に見えると思う
915GMの後継が945GMでクロック向上とサポートしてる命令が増えてるとかの差がある
あと超低電圧版や低価格機だと945GMSとかになってメモリの速度とかいろいろと遅くなってるので
855GME並みに遅い場合もある
0079名前は開発中のものです。
2007/03/20(火) 22:03:47ID:nx0qHnStモジュールの作り方覚えたら組み込んでいきたい。
やっぱJDKと一緒にDLできるってのは初心者に勧めやすい。
0080名前は開発中のものです。
2007/03/20(火) 23:00:07ID:3GNvhVA2自動的にlibフォルダにコピーしてマニフェストファイルでリンクしてくれるのが便利だよな
クラスパスをちゃんと知ってる人は別に問題ないけど、知らない人でも扱えるその手間のなさはいい
0081名前は開発中のものです。
2007/04/04(水) 17:31:18ID:xZsJ6jDt0082名前は開発中のものです。
2007/04/04(水) 17:47:32ID:+3v2Q0mp会社名とか聞くと面白そうだな
0083名前は開発中のものです。
2007/04/04(水) 17:58:33ID:UdFABoGJプラットフォームなんてVMだから関係なく、そこまで行くと
開発の容易さと保守性と開発環境の充実の方が重要だろうなぁ。
JavaのEoDは中途半端で、ActionScriptなんてEcma-262だから保守性なんてあったモンじゃないし、
どっちもどっちだろ。
javaベースはプログラマ、Flashベースはデザイナで済み分けられてる現状、お互い平行線だと思うんだが。
0084名前は開発中のものです。
2007/04/06(金) 15:58:22ID:sxRNfl4U正直どういう基準で同列に語ってるのかが理解できない
0085名前は開発中のものです。
2007/04/06(金) 22:54:19ID:+twN6j/w0086名前は開発中のものです。
2007/04/12(木) 19:15:04ID:e/3TFgB50087名前は開発中のものです。
2007/04/13(金) 00:59:09ID:uMYzPjGT0088名前は開発中のものです。
2007/04/13(金) 04:14:59ID:X1dHKijv0089名前は開発中のものです。
2007/04/13(金) 10:45:12ID:HyA+bf47Hotspotというレスポンスとスループットを両立するものになっておる
0090名前は開発中のものです。
2007/04/27(金) 19:41:09ID:W0CIDG0iフレームワーク的なものの推奨fpsを模索してるんだが、ラインを知りたい。
0091名前は開発中のものです。
2007/04/27(金) 19:52:53ID:2hgvmjyMただ、60fpsが余裕で出ると思うのでマシンスペックで300MHzとかを対象にしているのであればそれでもいいけど
最低30fpsはほしい希ガス
0092名前は開発中のものです。
2007/04/27(金) 20:56:23ID:W0CIDG0i低負荷なポーリングとかあるんだろうか。
0093名前は開発中のものです。
2007/04/27(金) 21:14:55ID:2hgvmjyM実際はフルスクリーンならタイマー+垂直同期のみでいける
ウインドウ時で垂直同期を取るにはJOGL+UMA以外のビデオ搭載のやつが必要
どっちにしろ60fpsは余裕
0094名前は開発中のものです。
2007/04/28(土) 01:15:47ID:Yt5Nv7VQ12fpsでも遊べなくないからがっかりはしない。
GUIツールキットと描画に何を使うかでもfpsは差があるからそれ次第でもある。
AWT + JOGLで最近の性能ならjake2で300fps位、JOGLのデモでもそれ以上出る。
描画が何にしてもSwingだとSwingのバッファに書いてからパイプラインに渡す分遅いがそれでも、
60fpsは出る。今時javaで速度気にすんのは知らん人間だけだよ。
それより、俺としてはデカイGCがドカっと来て明らかにもたついてんのは気になるかな。小さいCGがチマチマ来るのは気にならない。
今からフレームワーク作るならアプレットよりJWSを視野に入れた方が良いよ。
と、AWT+JOGL+JMF(+JOAL)+viajeで作ってる最中の俺が言ってみる。
AWT使うならインストール型標準拡張のJNIくらいpure Javaと差はないと思ってる。
・・・と、俺の考え。
0095名前は開発中のものです。
2007/04/28(土) 08:48:04ID:GbSr5ThtJOGLはGLJPanel使うと60fpsでないな
その改善をJavaSE6でやるはずだったが、ベータ版は有効だったのに正式版で無効になった
JavaSE7でちゃんとOpenGLパイプラインが動けばGLCanvas捨てることが出来るんだけどね
GLCanvasはフルスクリーン時描画が出来ないバグもちだから実は使いたくないと思ったり
そのかわりビデオチップによってはウインドウモードで垂直同期が効くというすぐれものだったりもするが
0096名前は開発中のものです。
2007/04/28(土) 11:37:11ID:HANiMBGRしかも有効にした途端に必ず落ちるという訳でもないみたい。やっかいだねぇ。
java側の問題ではないからSEのバージョンは関係ないよ。
ゲームならGUIは自前だからAWTの見た目なんて関係なし、フルスクリーンはどうだろう、やる人間の好みかな?エロゲだと居るだろうねw
けど、アプリ実行中にころころウィンドウとフルスクリーン切り替えれるのってwinくらいなんじゃなかったっけ?
JOGLが実際に使える段階まで来たのは良い事だよ。しかも、最近やたら更新早い。
java.netでホストされてる標準ライブラリに取り込まれてない
公式プロジェクトは頻繁にクラス・パッケージ構成が変わるからフレームワーク組むとき困るよ・・・。
0097名前は開発中のものです。
2007/04/28(土) 12:05:58ID:PlJLH/jqそしてここはアクション系のスレ
パイプライン有効にするとすべての環境で不具合が出るんだけれども特定のドライバの問題ってわけではないようだ
J2SE5.0からSwing描画にOpenGl使えるようになってるんだけれども、有効にするとリペイントマネージャまわりがおかしいのかめちゃくちゃになる
標準でOpenGL使えるようになるには遠すぎ
0098名前は開発中のものです。
2007/04/28(土) 12:36:04ID:usJc8olx-Dsun.java2d.opengl.fbobject=false
付けて暫く動かしてみそ、ドライバによってはドライバのバグを再現する。必ずなる訳ではない。
0099名前は開発中のものです。
2007/04/28(土) 12:50:51ID:PlJLH/jq0100名前は開発中のものです。
2007/06/03(日) 17:25:21ID:wvWDdkI8今時、Flashでも30fpsは出るぞ
0101名前は開発中のものです。
2007/06/03(日) 17:30:39ID:qjYqK/LnJavaでは垂直同期を取って60fpsが可能。これはflashには不可能。
上の12fpsというのは作者が12fpsでつくってもいいか?といってるだけかと。
そもそも4月の書き込みに今頃つっこむなぞ・・・
0102名前は開発中のものです。
2007/09/08(土) 04:36:01ID:sP8eKrEk質問させてもらいますが、インスタンスのプールってどのように
実装していますか?
あと、画像の透過はどうしていますか?gifやpngだとジャギーがでてくる
ので画像を二枚用意して比較させて1ドットづつアルファ値を設定して
いますがいい方法があったら教えてもらえませんか?
0103名前は開発中のものです。
2007/09/08(土) 13:04:20ID:F1K7atqP必要な場合ってのは限られるからね
画像に関してはJava2Dでアンチエイリアスをかけるようにする
もしくはpngでαつきで作成しておく
0104名前は開発中のものです。
2007/12/31(月) 01:08:49ID:DW0nBc61dfhhf
fdgg
sdgsd
sdgsd
0105名前は開発中のものです。
2007/12/31(月) 06:06:31ID:nIWs4m/L0106通行中のjuner
2008/03/10(月) 09:01:44ID:Hz+DJliqttp://juner.csx.jp/game/unb/
0107名前は開発中のものです。
2008/03/10(月) 09:11:13ID:Dcr87hnghttp://www.vector.co.jp/soft/win95/game/se119747.html
ゲーム用爆発アニメーション作成ツール
0108名前は開発中のものです。
2008/05/11(日) 01:59:19ID:klztBJ6c0109名前は開発中のものです。
2008/06/04(水) 17:14:17ID:xVETCOHbTopPage - game-develop.com wiki
http://wiki.game-develop.com/
GameDevWikiを何とかするスレ
http://pc11.2ch.net/test/read.cgi/gamedev/1156117275/
0110名前は開発中のものです。
2008/08/15(金) 10:54:51ID:fu+JQp+m0111名前は開発中のものです。
2008/08/18(月) 17:57:33ID:cm8lH5DOどなたかたてていただけないでしょうか?
0112名前は開発中のものです。
2008/08/18(月) 21:34:26ID:GqjEpIM5http://pc11.2ch.net/test/read.cgi/gamedev/1013953851/
0113名前は開発中のものです。
2008/08/19(火) 16:56:19ID:BFNfndoR0114名前は開発中のものです。
2008/08/19(火) 19:25:28ID:WJzGqLN0アクションを作りたいならこのスレ、他には
「Javaアプレットのゲームの限界は!」
http://pc11.2ch.net/test/read.cgi/gamedev/1005230153/l50
「JAVAアプリでゲーム」
http://pc11.2ch.net/test/read.cgi/gamedev/1033926010/l50
言語としての質問ならプログラム板にたくさんスレがあります。
過去には単発作品スレみたいなとこでボンバーマンやさいたまSTGを
作ってるスレをみた事あります。
それとも、「Javaゲーム総合」みたいなスレがほしいとかでしょうか
いまJavaでがんばってる人いないから期待します。
ここも休眠ぽい。
http://javagame.skr.jp/
0115名前は開発中のものです。
2008/08/20(水) 01:05:24ID:LURDNrEZ基本的に1.4.1の時点でアクセラレーションがきいてきたりしてるし1.5、1.6とあまりパワーアップはしていない
あ、でもJavaSoundは使いやすくなってると思う
凝ったことをしたりアクセラレーションを最大限にしたいのならJOGLを使う
ジョイパッドを使いたいのならJNIは必須になるのがちょっと厄介かな
ほとんどの場合Windowsさえ対応していればいいのだろうけど
0116名前は開発中のものです。
2008/08/20(水) 01:13:52ID:LURDNrEZ60fpsでアルファブレンディングばりばりでOgg Vorbisでサウンドもならしたりするのもね
ゲーム自体の作成が初めてなのか、Javaでの作法がわからないのかというところだが、
前者なら今はゲーム開発がわかる雑誌がほぼ全滅してるのでちょっとつらいかもしれない
15年前は大量にあったのにねぇ
後者ならば「15歳からはじめる〜」というのが一番の解かな
ゲームをとにかくすぐに作りたいのならば「ShinGL3」
そこにある2面まであるサンプルSTGがShinGL3つかってるから機能は分かりやすいはず
0117名前は開発中のものです。
2008/09/07(日) 13:54:34ID:8xBduqc8Sunの技術者って底辺ドカタみたいなのしか居ないんだろうか
0118名前は開発中のものです。
2008/09/08(月) 11:12:42ID:xrQK/F8B0119名前は開発中のものです。
2008/09/08(月) 12:43:48ID:dLS/wPVc0120名前は開発中のものです。
2008/09/21(日) 18:46:00ID:OsH1BNzp0121名前は開発中のものです。
2008/09/21(日) 21:24:54ID:r4b2JGP30122名前は開発中のものです。
2008/09/23(火) 00:03:29ID:vRkjT2mF0123名前は開発中のものです。
2008/09/23(火) 00:29:14ID:tOuH/n2C0124名前は開発中のものです。
2008/10/03(金) 00:20:58ID:+ke5of9fドラクエでダメージうけたときみたいに
0125名前は開発中のものです。
2008/10/03(金) 00:53:13ID:j+bPhG3o0126名前は開発中のものです。
2008/10/04(土) 01:25:42ID:Ai04tfzTウィンドウ全体を揺らすとかいうネタを仕込むのも面白いかもね
雑魚戦じゃなくイベント限定にしないとウザイが
0127名前は開発中のものです。
2008/10/04(土) 04:59:23ID:wlsIJF4e0128名前は開発中のものです。
2008/10/04(土) 10:19:46ID:eBSs+DHR0129名前は開発中のものです。
2008/10/04(土) 11:01:12ID:XU1Q4+7D0130名前は開発中のものです。
2008/10/04(土) 12:32:07ID:NE5vtfU10131名前は開発中のものです。
2008/10/04(土) 12:34:28ID:eBSs+DHR0132名前は開発中のものです。
2008/10/04(土) 14:12:05ID:wlsIJF4e0133名前は開発中のものです。
2008/10/04(土) 17:03:04ID:XU1Q4+7Dああ、釣られてしまったか
0134名前は開発中のものです。
2008/10/04(土) 18:12:06ID:wlsIJF4eああ、ここは「初級」者しかいないのか・・・・
0135名前は開発中のものです。
2008/10/04(土) 18:53:47ID:lCxx5DEZ0136名前は開発中のものです。
2008/10/05(日) 02:18:13ID:cgXuY+W+0137名前は開発中のものです。
2008/10/05(日) 02:55:24ID:cgXuY+W+listに突っ込んでいけばいいんでないかい?
んで、frontから再生していく。
1フレーム区切りだとデータ量が多くなると思うなら、もっと長く区切ってもいいし。
その場合、コードが煩雑になるけどね。
0138名前は開発中のものです。
2008/10/05(日) 10:47:17ID:esDCMgrIわめきちらすID:wlsIJF4eがいるスレはここですか?
0139名前は開発中のものです。
2008/10/05(日) 11:26:48ID:k/pYUo2Cよろしくお願いいたします
JMonkeyEngineは3Dのエンジンみたいですが、2Dもつくれますよね?
ゲームループとかも管理してくれるみたいだから知りたいです
よろしくお願いいたします
0140名前は開発中のものです。
2008/10/05(日) 14:46:42ID:vHSrsShI内訳では4次元配列くらいが必要では?
0141名前は開発中のものです。
2008/10/05(日) 22:48:03ID:B28yXkKi全部署名つけてオレオレ証明書でダイアログ出す?
それでユーザに「危ないってダイアログ出すけど信用してOK押して」って言うわけ?
0142名前は開発中のものです。
2008/10/05(日) 22:55:31ID:Za20XjLJ0143名前は開発中のものです。
2009/02/21(土) 10:06:43ID:rhB09fqhif(isJump == false && jumpKey == ture) { // ジャンプ中でなく、ジャンプキーが押されたら
isJump = true; // ジャンプ中にする
vy = -jumpSpeed; // ジャンプスピード(初速)
}
vy += gravity; // 重力をかける
----------------------------------------
横スクロール(マリオ型)アクションゲームで、上記みたいにジャンプを実装している場合、
「ジャンプキーが押された時間が短い場合は小ジャンプにする」
という風にするには根本的にプログラムを変更しないといけないですか?
0144名前は開発中のものです。
2009/02/21(土) 10:44:45ID:Wn6D0K7q実際マリオはそうだろ
0146名前は開発中のものです。
2009/03/04(水) 20:49:06ID:BgNcpKU6(´・ω・`)ショボーン
http://imepita.jp/20090124/089930
0147名前は開発中のものです。
2009/03/22(日) 07:24:47ID:O3SVwcBu別スレッドでAnimator使ったりしないとまずいのだろうか
垂直同期との明示化がわからん(環境によって自動的にできたりできなかったり?)
0148名前は開発中のものです。
2009/03/22(日) 12:09:18ID:t26wnkyW0149名前は開発中のものです。
2009/03/23(月) 20:58:13ID:UqizvfMnJOGL使いは占めのころは、OpenGL系のAPIを別スレッドからアクセスしたら
いきなり例外吐いてびっくりしたものだが。
0150名前は開発中のものです。
2009/03/23(月) 21:25:56ID:uzXOwN2A一本道のつもりだったのだけどイベントリスナスレッドとかが影響してるのか。
0151名前は開発中のものです。
2009/03/23(月) 22:17:05ID:dbyr6AlE自分はTextureIOのnewTextureがコンテクスト依存と思っていなくて
半泣きになったことがある。
enableとかbindをしなければ、別スレッドから呼んでも大丈夫だろうと
思っていたんだよなあ…
結局、テクスチャ登録は絵だけ準備してフラグを立てて、
displayメソッドの中からフラグをチェックしてテクスチャオブジェクトを生成するという
めんどうな動きになった。
0153151
2009/03/23(月) 23:00:18ID:ZB3pm8mv仲間がいたようなのでついでに聞いてみる。
テクスチャオブジェクトのガベージコレクションってどうしてる?
ファイナライザにdisableを仕込みたいところだけど、
ファイナライザはGLAutoDrawableとは別スレッドから呼ばれるだろうから、
同じ理由で例外吐いて死にそうな気がする。
自分の場合、これはまだ解決してない。
オブジェクトが破棄されるたびにVRAMにゴミが残るわけで、
どうしたものかと思っているんだが…
やっぱり、ゲームエンジン側で管理すべきなのかな。
テクスチャオブジェクトの管理用コレクションとモデルオブジェクト管理用コレクションを見比べて、
「そのテクスチャを利用しているモデルオブジェクトがもはや存在しない」
となった時点で明示的にdisableをかけて、それからremoveする、と。
0154名前は開発中のものです。
2009/03/23(月) 23:22:49ID:uzXOwN2Aシーン中にインテリジェントに捨てる事に関してはオブジェクトに関してもテクスチャに関しても考えてないや
シーン中は(理論上)無限にプーリングしてシーン終了時の後始末でシーンコンテキストのテクスチャを全disable & 削除っていう方針
テクスチャ画像の重複登録をしないのは当然として、そこまで多種の画像を読み込む事を想定していないってのが正直な所
0155151
2009/03/23(月) 23:27:33ID:ZB3pm8mvなるほど。その辺は割り切っちゃうという手もあるな。
自分のゲームエンジンでもテクスチャは共用されるから、
確かに、さほど厳密に管理しなくともVRAMを圧迫しない気はする。
考えてみれば、256x256x32bitなら、たかだか256KBだからなあ。
0156154
2009/04/02(木) 19:49:00ID:rnxHGA2h基本的な方針は同じだけどdisableに関してはテクスチャを使うときに
enable → bind → 表示 → disableを毎回するように変えた。
やっぱりカレントスレッド問題が色々と面倒くさいので。
0157名前は開発中のものです。
2009/04/09(木) 01:21:53ID:QVY5xGft総合スレとの区別があいまいだしねえ…
ちなみに、enableしてないテクスチャオブジェクトをdisableすると例外吐くんだっけ?
これを受け付けてくれるなら、いきなりdisableしてもいいような気がする。
逆に、enableを多重にやると、VRAMに同じテクスチャイメージが多重登録されたりしそうで心配だが、
取り越し苦労だろうか。
0158名前は開発中のものです。
2009/04/14(火) 17:40:52ID:Wx3DB5EWすげえあたまいい・・・と感動してしまった
0159名前は開発中のものです。
2009/05/14(木) 21:04:29ID:jnlC9FY/オハヨー!!
∧∧ ∩
(`・ω・)/
⊂ ノ
(つノ
(ノ
___/(___
/ (___/
 ̄ ̄ ̄ ̄ ̄ ̄
0160名前は開発中のものです。
2009/11/04(水) 00:17:42ID:mdwZ7HUY俺はコンピュータ内蔵の時計呼び出してその値からやってるんだけど、
そうするとポーズ画面のあと再開したときにアニメーションがずれちゃうんだよ
どうしたらいいかな
0161名前は開発中のものです。
2009/11/04(水) 10:26:18ID:MgRdkNplポーズ中は経過時間が増えないようにするとか
0162名前は開発中のものです。
2009/11/04(水) 21:22:33ID:OEwandvLフレーム単位で処理するからずれるとかはないとおもうけど
可変フレームのはなし?
0163名前は開発中のものです。
2009/11/04(水) 21:46:58ID:wmTV4PxT何か忘れてる。
0164名前は開発中のものです。
2010/03/02(火) 23:08:25ID:Ex3WWwU30165名前は開発中のものです。
2010/05/07(金) 20:42:20ID:WillkCAwマリオ風をつくってるんですがgifで表示させてた時よりカクカクします。
フルカラー+透過を実現したくてpngにしたんですが…。
0166名前は開発中のものです。
2010/05/07(金) 21:15:05ID:j/r3kS3Uそれでなくても透過合成は重い部類だし
0167名前は開発中のものです。
2010/05/07(金) 23:37:10ID:KEJO6T7Mスペックにもよるが32*32のスプライト10万個くらいだすと60fps維持できないと思う
0168名前は開発中のものです。
2010/05/08(土) 20:58:02ID:2Mve6/zz別の方法試してみようと思います。ありがとうございました。
0169名前は開発中のものです。
2010/05/08(土) 22:13:03ID:+nu9nO6K0170168
2010/05/09(日) 01:02:49ID:f5Ph/AqmdrawImageでダブルバッファリングしながら表示させてます。
1000*1000くらいの大きな画像に24*24くらいのマップチップやキャラチップを並べて、
drawImage(img, x1, y1, x2, y2, imgX1, imgY1, imgX2, imgY2, observer);
でimgX1〜imgY2を指定してチップを表示してるんですが、もしかして各チップを
一つずつのファイルに分けた方が高速ですかね?それともdrawImage使うのがそもそもダメですか?;;
0171名前は開発中のものです。
2010/05/09(日) 10:10:47ID:Pu1jTf/zあとJavaはJavaSE6update10以上つかってる?
0172168
2010/05/09(日) 16:51:18ID:f5Ph/Aqm一応Image型をBufferedImage型に描画してます。
転送元がImage型だからカクカクするのかなと思ってBufferedImage型→BufferedImage型も試してみましたが
あまり改善されませんでした。
JavaバージョンはJavaSE6update18です。
0173名前は開発中のものです。
2010/05/09(日) 21:02:07ID:Pu1jTf/z描画バッファから画面への転送の方法とかどうしているかも気になる。
あとはピクセルフォーマットを同設定しているかか。
転送もとのフォーマット
描画バッファのフォーマット
画面のフォーマット
これらをどう設定しているかにもよる。
あとImageの分割もやってみた?32bppだと1000*1000で4MBも食うわけで。
0174名前は開発中のものです。
2010/05/09(日) 21:14:11ID:o2jE/Yfmアホみたいに速いよw
0175名前は開発中のものです。
2010/05/09(日) 22:56:26ID:eCAtLDK5カラーが24bitなら透過は8bitになってると思うよ
そして全ての透過値が0xffか0x00しかなくても、8bitのアルファチャネルがあるのと同様のロジックが走る
アクセラレーションが効いてなければ結構描画効率は落ちる
マリオみたいなゲームなら1チップに255色以上使う必要性も少ないだろうし、
リソース合成時かゲーム起動時に減色して透過インデックスを指定するようにしたらどうかな
0176168
2010/05/10(月) 01:29:54ID:CH9wxDuwhttp://javagame.skr.jp/index.php?%A5%A2%A5%AF%A5%C6%A5%A3%A5%D6%A5%EC%A5%F3%A5%C0%A5%EA%A5%F3%A5%B0
に書いてある、repaint()を使わないで描画する方法(アクティブレンダリング)というのをやってみたら大分カクカクが収まりました。
>>173
すいません、勉強不足で仰られていることの意味がわからないんでコード晒します。
>>168からいろいろ変えてみて、今現在、
Image img = Toolkit.getDefaultToolkit().getImage(getClass().getResource(filename));
MediaTracker tracker = new MediaTracker(this);
tracker.addImage(img, 0);
try {
tracker.waitForID(0);
} catch (InterruptedException e) {
e.printStackTrace();
}
BufferedImage bimg= new BufferedImage(img.getWidth(null),img.getHeight(null),BufferedImage.TYPE_4BYTE_ABGR);
Graphics g = bimg.createGraphics();
g.drawImage(img,0,0,null);
でpng画像をbimgに読み込んだ後、drawImageでオフスクリーンバッファに描画してます。
画面への転送方法は先程も書きましたがrepaint()を使わない方法に変えてみました。
あと、画像を最初にBufferedImageで読み込んでいても、チップは分割しておいたほうがいいですか?
>>174 すいません、軽く調べましたがなんか難しそうなので諦めます。
>>175 そうなんですか。うーん、どうしてもフルカラーでいきたいんですよね…。無理そうならgifに戻すことにします。
0177名前は開発中のものです。
2010/05/10(月) 22:09:49ID:rdBA97qwあとABGRとかARGBとか順番によって大きく速度が変わるからピクセルフォーマットは意識したほうがよい。
転送先はVRAM、もしくはコンパチブルピクセルフォーマットのほうがいいよ。
そして転送元もあわせたほうがよい場合が多い。
あとは特定色の透過をしたい場合TransparencyがBITMASKになってると大概早いはず。
0178名前は開発中のものです。
2010/05/11(火) 10:35:00ID:RB0dCl6F話が難しすぎてさっぱりわからないwww
ダメだ俺orz
0179アジェグ4倍 ◆4xAJeG.COM
2010/12/27(月) 17:55:37ID:tvzx1nclいまどきはこれが必須と言われている。
0180名前は開発中のものです。
2011/08/09(火) 10:57:03.78ID:B85eOPiCあらかじめ画像を1度ずつ回転させたImageオブジェクトの配列を作成するにはどうしたらいいですか?
今のところGraphics2Dのrotate()で描画先のGraphicsを回転させているのですが、無駄が多いような気がしまして・・・
0181名前は開発中のものです。
2012/03/05(月) 23:18:01.39ID:S6tKV2yC回転済みのBufferedImageの用意すると
描写時にグラフィックメモリが大量に必要になるから
回転済みの用意しない方がいいと思うよ
1回描写すればキャッシュで速くなるし
回転もグラボ使うから遅くならない
0182名前は開発中のものです。
2012/03/05(月) 23:22:53.23ID:S6tKV2yCダブルバッファだったら
Swingが自動的にやってくれているから
意識しなくていいと思う
0183名前は開発中のものです。
2012/05/11(金) 14:13:36.56ID:K3ACPeVc固定少数で14として扱う方法は知っていますが
ビットシフトでやる場合どうやってやるのか知りたいです
1.4<<7 で 179.2だから 179として扱えばどうかと思っているところです
精度的に3桁あっても厳しいでしょうか?
0184名前は開発中のものです。
2012/05/11(金) 23:32:16.98ID:dAZRIFlQでこの場合10倍してるど、ビットシフトなら2の乗数倍するだけだから考え方は同じだね。
精度的な話は自分がほしい精度なんで厳しいかどうかの基準がわからん。
0185名前は開発中のものです。
2012/05/13(日) 11:09:53.39ID:52g24kKaそれなら1.4はだいたい91750だからこの数値で扱えばいいんだろうか
面倒だから10倍でやるほうがよさそうですね
0186名前は開発中ものです。
2012/05/13(日) 22:10:38.79ID:nrwURmq80187名前は開発中のものです。
2012/05/14(月) 17:57:49.15ID:v4rkIglGpublic class DebugFrameResizeMouse {
private JFrame frame = null;
public static void main(String[] args){ new DebugFrameResizeMouse().runApp(); }
public class EnableMouseResizeAction extends AbstractAction {
public EnableMouseResizeAction(){ this.putValue(NAME, "Enable Mouse Resize"); }
public void actionPerformed(ActionEvent arg0) { frame.setResizable(true); }
}
public class DisableMouseResizeAction extends AbstractAction {
public DisableMouseResizeAction(){ this.putValue(NAME, "Disable Mouse Resize"); }
public void actionPerformed(ActionEvent arg0) { frame.setResizable(false); }
}
private JMenu createMouseMenu(){
JMenu m = new JMenu("Mouse");
m.add(new JMenuItem(new EnableMouseResizeAction()));
m.add(new JMenuItem(new DisableMouseResizeAction()));
return m;
}
public void runApp(){
frame = new JFrame("Test");
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setPreferredSize(new Dimension(640,480));
JMenuBar mbar = new JMenuBar();
mbar.add(this.createMouseMenu());
frame.setJMenuBar(mbar);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
0188187
2012/05/14(月) 18:00:07.71ID:v4rkIglGsetResizable のオンオフでウィンドウの大きさが
変わってしまうのですがどういう理由だと思いますか
動作はこれでいいのでしょうか
0189名前は開発中のものです。
2012/05/18(金) 05:00:51.09ID:Zf//QytWサイズ変更の可能/不可にかかわらずウィンドウの内側のサイズは一定+サイズ変更禁止用の細いウィンドウ枠
の全体としては小さくなったんだと思うよ
サイズ変わるの嫌ならsetSizeで解決すると思う
0190名前は開発中のものです。
2012/05/18(金) 17:05:18.99ID:1wIe6pNopublic void actionPerformed(ActionEvent arg0) {
frame.setResizable(true);
frame.pack();
System.out.println("Resizable");
System.out.println(frame.getSize());
System.out.println(frame.getInsets());
}
Nonresizable
java.awt.Dimension[width=640,height=480]
java.awt.Insets[top=25,left=3,bottom=3,right=3]
Resizable
java.awt.Dimension[width=640,height=480]
java.awt.Insets[top=30,left=8,bottom=8,right=8]
0191名前は開発中のものです。
2012/12/12(水) 15:41:49.52ID:5f65KrKy■ このスレッドは過去ログ倉庫に格納されています