[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 21:08 / Filesize : 296 KB / Number-of Response : 982
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Javaでゲーム作成 2本目



1 名前:名前は開発中のものです。 [2005/10/27(木) 09:43:50 ID:dzSvRQXE]
Javaでのゲーム作成について情報交換をするスレです。
ゲーム作成以外の話題はム板(pc8.2ch.net/tech/)、
他言語に関する話題は他スレでお願いします。

前スレ
JAVAでゲーム作成
pc8.2ch.net/test/read.cgi/gamedev/1074347252/

テンプレは>>1->>10あたりを参照

450 名前:名前は開発中のものです。 mailto:sage [2006/10/13(金) 20:33:34 ID:/GHVYosk]
おっと、何故か番コテが残ってた。てか復活した?w

451 名前:名前は開発中のものです。 mailto:sage [2006/10/13(金) 22:17:57 ID:GU1W4jxT]
さわってないけどおかしいという話は特に聞いてないな


452 名前:名前は開発中のものです。 mailto:sage [2006/10/14(土) 00:08:50 ID:NtWi6K2U]
これからはdirectxじゃなくてjoglやろうぜ
ttp://61.215.215.33/news.php?url=/weekly/kaito/097/kaito_097.shtml

453 名前:名前は開発中のものです。 mailto:sage [2006/10/14(土) 02:31:13 ID:MGTxKfzz]
Sun本気でゲームやるならジョイパッドいい加減対応してくれ


454 名前:名前は開発中のものです。 mailto:sage [2006/10/14(土) 02:52:06 ID:ZM4Zxtns]
>>453
JOGL, JOAL, JInput と一通り用意されていたりする。

が、JInputの使い勝手と品質は、アレゲです(約1年前試用)。

455 名前:名前は開発中のものです。 mailto:sage [2006/10/14(土) 03:02:31 ID:MGTxKfzz]
JOGLにしてもそれらのライブラリぜんぶ標準じゃないし
基本的なヒューマンインターフェースデバイスは標準にしないと意味ないのに

456 名前:名前は開発中のものです。 mailto:sage [2006/10/14(土) 06:59:51 ID:nYtGilm6]
OpenGLに関してはJava6で標準だろ
入力デバイスがアレなのは、Win以外がアレだからでしょ

457 名前:名前は開発中のものです。 mailto:sage [2006/10/14(土) 07:22:45 ID:1AUmoz7r]
>>449
 1.4.2と比べて何が変わったのやらという感じ。

458 名前:名前は開発中のものです。 mailto:sage [2006/10/14(土) 07:48:07 ID:nYtGilm6]
>>452
RuneScapeとかいうのは4.5億も売り上げがあるのか
そういやTibiaってのもグラはしょぼいが潤ってたらしいしな



459 名前:名前は開発中のものです。 mailto:sage [2006/10/14(土) 10:21:48 ID:MGTxKfzz]
>>456
VMが一部環境用にアクセラレーションとして使ってるだけで標準実装とはちがうはずだが


460 名前:名前は開発中のものです。 mailto:sage [2006/10/14(土) 11:53:22 ID:r+tdu3ZM]
ところで
JInputを使おうとするとArrayIndexOutOfBoundsExceptionが出るのは自分だけだろうか…

461 名前:名前は開発中のものです。 mailto:sage [2006/10/14(土) 15:16:14 ID:MGTxKfzz]
JInputの日本語資料ゼロか・・・こりゃ普及せんな

462 名前:名前は開発中のものです。 mailto:sage [2006/10/17(火) 23:44:15 ID:46k9HZL6]
Input Method Frameworkの使い方がドキュメント読んでもいまいち良く分からないw
BufferStrategyと日本語入力を組み合わせるならこれしかないと思うんだが。。。

Swingベースに切り替えようかな、Java6からJOGLがPanel化されるんでしょ。

463 名前:名前は開発中のものです。 mailto:sage [2006/10/18(水) 13:58:55 ID:YpbpZhIP]
BufferStrategytと日本語入力の問題はDirectXとかでも同じだからな
Panelのは速度が遅いはずだが改善されたんか


464 名前:名前は開発中のものです。 mailto:sage [2006/10/19(木) 00:32:10 ID:nGTITlbS]
>>462
自前描画している日本語入力対応エディタのソースを見てみると良いかもしれない。

465 名前:名前は開発中のものです。 mailto:sage [2006/10/27(金) 07:07:03 ID:Yr57x8PW]
CopyOnWriteArraySetなどの並行APIを試してみたけど
結局STGとかだとLinkedListで十分なんだと分かっただけだった。

466 名前:名前は開発中のものです。 mailto:sage [2006/10/27(金) 07:15:14 ID:xDAg32vR]
マルチスレッドでつくってんの?

467 名前:名前は開発中のものです。 mailto:sage [2006/10/27(金) 07:28:53 ID:Yr57x8PW]
マルチコアへの自動的な最適化とか面白そうだなと思ってね。
でも並行APIはiteratorによるremoveにたいして適正の在るのがなくて辞め。

468 名前:名前は開発中のものです。 mailto:sage [2006/10/27(金) 08:40:24 ID:xDAg32vR]
こんな会社があったんですね。。。
ttp://www.cyberstep.com/recruit/story_1.html



469 名前:名前は開発中のものです。 mailto:sage [2006/10/27(金) 08:51:15 ID:phd+j6pm]
>>488
マルチプラットホーム化が容易とうたってる割にGetAmpedRもC21もWindowsのみ対応なんだな‥‥

470 名前:名前は開発中のものです。 mailto:sage [2006/10/27(金) 12:18:12 ID:v3In4esC]
2Dゲームで個人レベルで作れるものでマルチコアが生きる分野ってあんまりないかもね
超連射みたいにソフトレンダなら明らかに効果があるがそれはシステム構築を楽しむためくらいしか・・・

471 名前:名前は開発中のものです。 mailto:sage [2006/10/27(金) 23:11:57 ID:Yr57x8PW]
スタンドアロンなゲームは「余ったリソースは捨てるリソース」なんだなと思ったよw

472 名前:名前は開発中のものです。 mailto:sage [2006/10/30(月) 15:12:29 ID:VjSo8VCQ]
JOGLって凄いんだな

473 名前:名前は開発中のものです。 mailto:sage [2006/10/30(月) 15:57:55 ID:Sn/Y/O/E]
ん?

474 名前:名前は開発中のものです。 mailto:sage [2006/10/30(月) 18:47:16 ID:Gg9zo7Zm]
だたのOpenGLのラッパ
びっくりするくらいオブジェクト指向もくそもねぇ

それだけに触ったことある人ならそのまま使える

475 名前:名前は開発中のものです。 mailto:sage [2006/10/30(月) 21:46:59 ID:AwvN98hH]
Graphics2DオブジェクトそのものがGCの原因になるから
フルGCの発生回数を特定シーンごとに0に押さえるみたいな方法って不可能?

476 名前:名前は開発中のものです。 mailto:sage [2006/10/30(月) 23:24:45 ID:Gg9zo7Zm]
Graphics2Dのものによるかな
ゲーム用途なら基本はGraphicsだけで収まる範囲にすること

アクセラレーションがきくタイプは負荷はたいしたことない

あとフルGCやりたくないなら使用メモリを把握した上でコンカレントGCに変更することや
シーンがはっきりと分けれていたりするなら切り替え時にFullGC入れてみるとか

477 名前:名前は開発中のものです。 [2006/11/08(水) 22:10:52 ID:nrOch+Qr]
www.youtube.com/watch?v=p9ytsfaGWts
これJavaでできてんの!?すごい

478 名前:名前は開発中のものです。 mailto:sage [2006/11/08(水) 22:17:38 ID:/VhjzjqX]
ムービーからだとフレームレートとかようわからんし、
あちらの人は固定フレームレートにこだわらないからねぇ

まずはパッドを標準ライブラリで使えるようにしないとね
表示もだ大事だけど入力がないとどうしようもない



479 名前:名前は開発中のものです。 [2006/11/09(木) 01:22:54 ID:C3JWOVJ7]
specforce
chrome作ったところが2005年ごろ作ったみたい。
ページ開いたらBGMが流れるので注意。
www.specforcethegame.com/en/main.php

かなり品質の高いFPSゲームだと思う。


480 名前:名前は開発中のものです。 [2006/11/09(木) 02:09:01 ID:yu7HeJLH]
これって、Javaサーバーに使えますかねぇ
ttp://www.hikakuserver.com/

普通のレン鯖でメモリ8GBも載ってるのがあるなんて
さっきまで知らなかった・・・(´・ω・`)

人柱キボン


481 名前:名前は開発中のものです。 [2006/11/11(土) 11:19:53 ID:C9CXGr4F]
ttp://www.puppygames.net
ttp://www.imilabs.com
ttp://www.agency9.com
ttp://www.mycgiserver.com/~movegaga/cosmictrip.html
ttp://www.chromethegame.com
ttp://www.hockeychallenge.se
ttp://home.halden.net/tombr/squareheads/squareheads.html
GroundFX
ttp://www.javagaming.org/forums/index.php?PHPSESSID=a66e7a361ddd1ea4a78a07a6d446a573&topic=4832.msg44039
ttp://www.oddlabs.com
ttp://www.ch-ee-ky.com/gr/index.html
ttp://www.jpct.net/paradroidz
ttp://www.jmonkeyengine.com
ttp://www.datadino.com/games/mightybubbles/
ホッケーのゲーム
ttp://www.wurmonline.com
ttp://www.gutenachtkopf.de
ttp://www.crystalsquid.com
ttp://www.runescape.com
ttp://www.puzzlepirates.com

482 名前:名前は開発中のものです。 [2006/11/11(土) 11:45:18 ID:C9CXGr4F]
>>481>>477に出てくるゲームのURLね
このうち、開発に役立ちそうなのは多分
www.imilabs.com
www.agency9.com
www.javagaming.org/forums/index.php
www.jmonkeyengine.com
www.gutenachtkopf.de

しかし、面白そうなゲームが山のようにあるな

483 名前:名前は開発中のものです。 mailto:sage [2006/11/11(土) 13:07:20 ID:HZB9qJCG]
java, javax系でAudioClipより表現が豊かなサウンド用インタフェースってありませんか?
AudioSystemやMidiSystemを上手くラップしたいんだけど、AudioClipじゃ物足りない印象

484 名前:名前は開発中のものです。 mailto:sage [2006/11/11(土) 13:35:38 ID:bJZMO9on]
なんでAudioClipがでてくるんだよ
JavaSoundカワイソス

485 名前:名前は開発中のものです。 mailto:sage [2006/11/11(土) 13:41:41 ID:HZB9qJCG]
君一行目しか読んでないでしょ

486 名前:名前は開発中のものです。 mailto:sage [2006/11/11(土) 18:45:04 ID:oHATF8vt]
2行目が一致しないから仕方ないだろ
JavaSoundがでてくるなら問題はないのに

487 名前:名前は開発中のものです。 mailto:sage [2006/11/12(日) 03:04:56 ID:FcOUrdTF]
正直、あちらさんのゲームを見せられて、すごい、すごいと言われても、も一つピンとこねえな。
あちらさんはアセンブラかましたりとか平気でやるからな。
日本人でJavaでFPSを作ってる人っていないの?

488 名前:名前は開発中のものです。 mailto:sage [2006/11/12(日) 06:49:35 ID:1OH5pVw5]
>>487
Javaでどうやってアセンブリ言語を使うのだ



489 名前:名前は開発中のものです。 mailto:sage [2006/11/12(日) 07:28:17 ID:0f+TtNLb]
JNIの事を言ってるんじゃ無いか?

490 名前:名前は開発中のものです。 mailto:sage [2006/11/12(日) 08:23:03 ID:+OD3pyxM]
ここにいる人だけど、その多くは、Javaで本格的にゲームを作った事が
ない人だろう。
各種Docで知識は豊富だけど、ただ読んで覚えてるだけ。
ゲームの開発経験はないだろう。

Java実行コードのスピードは、部分部分で比較するとC++と大差なく
見えるけど、全体のアプリとして組み立てると、その漏れてた部分の遅さが
積み重なれて顕著となり、システム系ならば許容できるけど
シビアなタイムが必要となるゲームじゃとても使えなくなる
上の洋ゲーも間違いなくそのコアにJNIをふんだんに使ってるよ。
そうなると、それはJavaであってもJavaの範囲外ってことだ

491 名前:名前は開発中のものです。 mailto:sage [2006/11/12(日) 08:26:03 ID:+OD3pyxM]
>>ただ読んで覚えてるだけ

ってのは、その知識をもとに小規模なテストアプリを作成して
その結果で判断する事も含まれてる

492 名前:名前は開発中のものです。 mailto:sage [2006/11/12(日) 10:16:17 ID:5sSMIo0r]
増えてきた本格派JAVAゲーム
61.215.215.33/news.php?url=/weekly/kaito/097/kaito_097.shtml

こんな記事あったよ。日本のゲーム業界でJava使ってるとこってあるの?教えて業界人。

493 名前:名前は開発中のものです。 mailto:sage [2006/11/12(日) 10:38:02 ID:wvoDMNwq]
>>490
javaのPrduct系ゲーム開発経験者ですか?
それとも勘でいっている?

当方、確かに経験ないので今いちわからないんだけど
コード量が増えるとメモリリークが増えるから
PureJavaじゃ使いもににならないといいたいの?




494 名前:名前は開発中のものです。 mailto:sage [2006/11/12(日) 16:48:08 ID:sIeJXGua]
>>486
おまえは何を言ってるんだ?

495 名前:名前は開発中のものです。 mailto:sage [2006/11/12(日) 21:12:28 ID:RoytZnjF]
>>490
> ここにいる人だけど、その多くは、Javaで本格的にゲームを作った事が
> ない人だろう。
で、おまいはJavaで本格的にゲームを作成したことがあるのか?

>その漏れてた部分の遅さが
>積み重なれて顕著となり、システム系ならば許容できるけど
>シビアなタイムが必要となるゲームじゃとても使えなくなる
VMのGC処理が良く問題になるだけであって、コード本体の実行スピードには問題ない

> 上の洋ゲーも間違いなくそのコアにJNIをふんだんに使ってるよ。
間違いなくとか勝手に推測で断定されても、完全な間違いなんだが。

RuneScapeはPureJavaで作成されている。
その他のゲームで利用されているJNIも、
OpenGLやDirectInputを直接呼び出すだけの利用。

デタラメも大概にしてくれ。

496 名前:名前は開発中の者です。 mailto:sage [2006/11/12(日) 21:43:38 ID:BPHT/7vm]
LWやメタセコで作ってXファイルで吐いた3DモデルをJava側で読み込むツールとか、キャラのモーションを登録してJavaで読み込ませるツールとか、どこかで公開してるのかな?
そういうのがないと、素人には3Dゲームなんて、とても作れない。

497 名前:名前は開発中のものです。 mailto:sage [2006/11/13(月) 00:19:13 ID:i1RxyPEd]
>>494
JavaSound理解してないやつ乙

498 名前:名前は開発中のものです。 mailto:sage [2006/11/13(月) 01:47:03 ID:xomXll6Q]
お前がインタフェースベースな設計を知らないだけだろw



499 名前:名前は開発中のものです。 mailto:sage [2006/11/13(月) 19:04:22 ID:jHwlfoAH]
AudioClipってもっとも低機能で使い勝手の悪いものなんだが
それをほしいといわれても困る

500 名前:名前は開発中のものです。 mailto:sage [2006/11/13(月) 23:23:32 ID:YBTvT9dR]
ローダつくろうと思ってるんだけど、どのローダ書くのがいいかな?
1.メタセコ
2.ブレンダ
3.Xファイル
Xのローダ書いとけば一番無難?
自分、右手系でPG書いてるから変換が面倒くさそうだけど。
みんなはどんな感じ?

501 名前:名前は開発中のものです。 mailto:sage [2006/11/14(火) 06:53:06 ID:t9hh4M26]
>>499
それより良いインタフェースはないかと聞いてるだけでは?

502 名前:名前は開発中のものです。 mailto:sage [2006/11/14(火) 06:56:22 ID:t9hh4M26]
てか質問の意図を理解してない以前に設計知らないだけみたいだな

503 名前:名前は開発中のものです。 mailto:sage [2006/11/14(火) 09:51:06 ID:v38jtkOO]
あれ質問の意図がわかるやつのほうが頭どうにかしてるとおもうぜ・・・
本人ですか

504 名前:名前は開発中のものです。 mailto:sage [2006/11/14(火) 17:34:18 ID:wMYc2bpW]
Javaでゲーム作るとき
描画ってどうしてる?


505 名前:名前は開発中のものです。 mailto:sage [2006/11/14(火) 19:15:20 ID:KGaPDyoT]
2Dなら普通にJava2D+BufferStrategy
フルスクリーン時は垂直同期取るのに対してウインドウモードは取らないという点に注意してね

506 名前:名前は開発中のものです。 mailto:sage [2006/11/14(火) 23:35:47 ID:N+Lhd8Zl]
初めてアクションゲーム作ってるんですが
画像を半透明にしたりパレットデータを換えるときどうしてますか?
できればリアルタイムで処理させたいのですが
いい方法が見つかりません。RGBImageFilterではImageを得るまでが面倒で動作も不安定でした。
PNG形式のbyte列を直で変更して毎フレームImageに変換も遅そう
助けてください

507 名前:名前は開発中のものです。 mailto:sage [2006/11/14(火) 23:48:08 ID:t9hh4M26]
>>503
普通にわかるが?

508 名前:名前は開発中のものです。 mailto:sage [2006/11/15(水) 00:19:12 ID:kbx8RzUW]
>java, javax系でAudioClipより表現が豊かなサウンド用インタフェースってありませんか?
なぜAudioClipと比較したインターフェースにこだわる?Lineとかいってほしいということか?


>AudioSystemやMidiSystemを上手くラップしたいんだけど、AudioClipじゃ物足りない印象
JavaSound理解しているならまったく問題ないし、そこでなぜAudioClipが出てくるか不明。
同じインターフェースにこだわりたいのならともかく音量調整も出来ないようでは使い道なし。

〜System系は5.0から大幅に使いやすくなったので迷うようなことはないと思うのだが。
普通に自分で好きなインターフェースで作りなさいとしかいえない。



509 名前:名前は開発中のものです。 mailto:sage [2006/11/15(水) 00:21:40 ID:kbx8RzUW]
>>506
Java2Dは使ってみた?通常合成なら大丈夫。
ハードウェアアクセラレーションはきかないからXGAで常時60fps維持したいとかだと厳しいけど。


510 名前:名前は開発中のものです。 mailto:sage [2006/11/15(水) 00:21:42 ID:VX1VJ6O9]
「同じインターフェースにこだわりたい」んだろ、もういいよ

511 名前:名前は開発中のものです。 mailto:sage [2006/11/15(水) 00:39:05 ID:kbx8RzUW]
こだわるならこだわるでAudioClip実装すればいいだけなんだけど。

512 名前:名前は開発中のものです。 mailto:sage [2006/11/15(水) 00:45:16 ID:VX1VJ6O9]
うざw そのインタフェースじゃ物足りないってんだからループするだけだろ
無いなら無いってだけなのに何引っ張ってんだか

513 名前:名前は開発中のものです。 mailto:sage [2006/11/15(水) 01:38:20 ID:VX1VJ6O9]
Java6になっても非Winの透過アクセラレートは無しなのかな。
まあ非Winを切り捨てても何の問題もないが。

514 名前:名前は開発中のものです。 mailto:sage [2006/11/15(水) 07:10:33 ID:EhAiNbIT]
>>509
それってGraphics2Dのことですか?
時間ができたら調べてみます。

515 名前:名前は開発中のものです。 mailto:sage [2006/11/15(水) 13:57:28 ID:zHfv0gGD]
>>512
だからこそあの質問が意味不明なのだ。
1行目と2行目と一致しない。

>>513
JavaSE5.0も現実的にアクセラレーションきかない。
openGLモードだと描画がバグバグだし、
Direct3Dモードだと描画方法によってレンダリング品質が変わるため使えない。

>>514
それだけじゃないけどね。
java.sun.com/j2se/1.5.0/ja/docs/ja/guide/2d/index.html

516 名前:514 mailto:sage [2006/11/15(水) 23:56:59 ID:EhAiNbIT]
>>515
バッファストラテジというのを導入してみたんですが、といってもほとんどコピペで理解してないんですが
Graphics2D.drawImage(Image,AffineTransform,Observer)でキャラを拡大したらGraphicsのdrawImageで描いた
ブロックの画像に縦縞ができてしまったんですが、どうすればいいでしょうか?必要ならできるだけ答えます
みなさんはバッファストラテジをどう使ってるのか教えていただけると助かります。

517 名前:名前は開発中のものです。 mailto:sage [2006/11/16(木) 00:11:55 ID:RzG/81yb]
これDirectX使って描画するからビデオドライバに問題があると崩れる場合がある。真っ当な環境なら問題は出ない。

とはいえ、アクセラレーションが利く描画じゃないようなのでその影響があるとは考えにくい。
コードと環境と加工前の画像と加工後の画像をアップしてもらえばわかるかも。

Graphics::drawImageでの拡大だとどんなかんじ?

518 名前:名前は開発中のものです。 mailto:sage [2006/11/16(木) 00:37:17 ID:A0r/2s0Y]
>>515
>だからこそあの質問が意味不明なのだ。
>1行目と2行目と一致しない。
お前日本語学校からやり直した方がいいぞw



519 名前:514 mailto:sage [2006/11/16(木) 07:35:27 ID:DvgKUdTk]
>>517
環境は何を書けばいいですか?今まで気にしてなかったもので…

520 名前:名前は開発中のものです。 mailto:sage [2006/11/16(木) 10:21:23 ID:HdufXzqB]
作ってみたけど微妙('A`)
ネットで対戦だから一人じゃバランスもとれず適当、せっかく作ったから遊んでください。
ttp://cattaka.myhome.cx/applet/bakutan.html

521 名前:名前は開発中のものです。 mailto:sage [2006/11/16(木) 12:59:05 ID:GPsbxADW]
>>519
そもそもWindowsなのか、フルスクリーンモードなのかウインドウモードなのか
ビデオチップやドライバ等

ところでGraphics::drawImageによる拡大は問題なさそうなの?それが先決か。

522 名前:名前は開発中のものです。 mailto:sage [2006/11/16(木) 13:01:06 ID:GPsbxADW]
>>518
具体的な対応取らない荒しはかえれ
最近ずっとJava関係荒らしてるのお前だろ

523 名前:名前は開発中のものです。 mailto:sage [2006/11/16(木) 23:02:33 ID:A0r/2s0Y]
AudioClipがinterfaceなのを知らないのか
デザインパターンを知らないのか
日本語を知らないのかどれだい?

524 名前:514 mailto:sage [2006/11/17(金) 18:00:42 ID:7Zpg5IH1]
>>521
OS:Win98
ウィンドウモード
Graphics::drawImageでは縞はでませんでした。
バッファストラテジはそんなに効果があるんですか?
今一速くない気がします…

525 名前:名前は開発中のものです。 mailto:sage [2006/11/17(金) 18:50:02 ID:gSEH6ifA]
>>524
速度に関してはソフトウェア描画になる部分とアクセラレーションがきく描画と分かれる。
拡大縮小やαブレンドはソフトウェア描画になる。

Graphics::drawImageによる拡大描画は大丈夫なのか・・・。
画像のロードの仕方とかにも結構左右されるっぽいけど、そのへんどうなってるかな。
あと256色モードとか16bitカラーモードが原因になる可能性もある。

転送元imageはBufferedImage使ってると思うけど、そのカラーモードはフレームとあわせてある?
抜き色があるかとか細かいこともある。

フレームレート命のアクションゲームならできるだけアクセラレーションがきく描画を選択したほうがいいよ。
あとは画面サイズが大きすぎないこと。

まとめると
・画像のロードの仕方
・デスクトップの色数
・実際に問題の出るコードと画像

526 名前:514 mailto:sage [2006/11/17(金) 19:08:46 ID:Lt0Wj0UY]
>>525
画面は24bitでした。転送元imageというのがいまいち分かりません…
今まで携帯でしか作って無かったので、、、
あとこういうゲームに特化してJAVAの解説してるとことか無いですかね?
人に見せられるもんじゃないですけどソースアップしました。
ttp://park21.wakwak.com/~kuri/src.zip

527 名前:名前は開発中のものです。 mailto:sage [2006/11/17(金) 21:47:35 ID:6OJGRcli]
まずぱっとみpaintイベントに描画ロジックが書いてあるようなきがするが、
通常paintイベントに対して処理は行わない。

repaint呼び出すところを自前のメソッドを呼び出すようにかえて、
paintメソッド名をそれにあわせて書き換えよう。

キー入力をビットに割り当てているのを見ると、他の言語でゲーム自体は作ったことあったのかなとおもた。

Skeruというクラスがわからないのでなんともいえないな。

画像のロードはImageIOを使うと柔軟にロードできるよ。わざわざバイト配列をロードするとか必要ない。
その際に画像バッファは現在のビデオの解像度と合わせると高速に転送が出来るけど、それはまた後の機会に。

これってフレームのサイズ固定で描画しているようだけれども、タイトルバーの高さとかふちの大きさは
同じWindowsでもバージョンや環境によって大きく異なるからしないほうがいい。

pack()やsetVisible()したあとにインセットを取得して本来ほしいサイズにそれを足して処理する。

528 名前:514 mailto:sage [2006/11/17(金) 23:51:15 ID:83DvLp/B]
>>527
お返事ありがとうございます。
>repaint呼び出すところを自前のメソッドを呼び出すようにかえて、
>paintメソッド名をそれにあわせて書き換えよう。
playに変えました。

>キー入力をビットに割り当てているのを見ると、他の言語でゲーム自体は作ったことあったのかなとおもた。
まあ、ボチボチですが

>Skeruというクラスがわからないのでなんともいえないな。
これはいらないクラスです。うっかりしてました。
画像とか変更したソースとかさっきのURLにアップしておきます。

>画像のロードはImageIOを使うと柔軟にロードできるよ。わざわざバイト配列をロードするとか必要ない。
>その際に画像バッファは現在のビデオの解像度と合わせると高速に転送が出来るけど、それはまた後の機会に。
やってみましたけど、こんなんでいいんですかね。

>これってフレームのサイズ固定で描画しているようだけれども、タイトルバーの高さとかふちの大きさは
>同じWindowsでもバージョンや環境によって大きく異なるからしないほうがいい。

>pack()やsetVisible()したあとにインセットを取得して本来ほしいサイズにそれを足して処理する。
やってみました。




529 名前:名前は開発中のものです。 mailto:sage [2006/11/18(土) 00:24:13 ID:3XstkAv5]
>>pack()やsetVisible()したあとにインセットを取得して本来ほしいサイズにそれを足して処理する。
>やってみました。

これ、取得した後にそのサイズを足してsetSizeするってことね。
320*240とかを描画サイズにしたい場合それプラス余白部分。
もちろん、描画する際の起点もその分ずらす。

あとは時間管理だろうか。
sleepは固定でのウエイトが入る。つまりメインループの処理時間の差があった場合に考慮されていない。
普段は10msで動いていたとしたら1ループは30msだろうけど、これが5msだったり15msだったりすると・・・。
したがってがくがくするのを防ぐためには一定の速度でまわす必要がある。
30msでループさせるなら処理に5msかかったら25ms停止、処理に15msかかったら15ms停止というようにね。

だいたいでいいのなら一番簡単なのはjava.util.Timerを使う。TimerTaskとあわせてね。
メインループのほうをwait()で停止させて、TimerTaskからnotify()で起こすといい。

あとこのスレと前スレを一度全部見ておいたほうがいい。

530 名前:514 mailto:sage [2006/11/18(土) 16:22:37 ID:09nqBb7g]
言われたところは大体やりました。ただTimer系がまだいまいちわかりません
サクっとでいいんで説明してもらえたら助かります。
あとJAVA2Dなら画像のパレット替えやフィルタリングもできるんですよね?

531 名前:名前は開発中のものです。 mailto:sage [2006/11/18(土) 16:36:52 ID:qC5zAejN]
タイマーはここみるといいよ。
www.javainthebox.net/laboratory/utils/Timer/Timer.html
ほかにも櫻庭さんのサイトはJava関係の重要なのが多いから関係のありそうなところ見といたほうがいい。

描画に関してはアクションゲームで60fpsを目指すのなら複雑なことはしないほうがいいよ。
あらかじめ使用するパレットがわかっているなら画像ロード後にそれらのImageを生成したほうがいい。
あくまでもいわゆる画像をスタンプのように貼り付ける場合はやいから。

RPGとかで30fpsくらいでいいのならいろいろと出来ると思うよ。
Java2Dを詳しく書いた書籍ってあったかな・・・。まずはJava2Dのマニュアルをよんでみよう。
少なくともJDKのJava2Dサンプルくらいはすぐできるから。

532 名前:514 mailto:sage [2006/11/18(土) 17:44:49 ID:Zk4f2vJN]
>>531
ありがとうございます。
Timerは分かってきたんですが、上にある
>メインループのほうをwait()で停止させて、TimerTaskからnotify()で起こすといい。
の書き方が分かりません…。
あと、キャラクター・エフェクト・特殊ブロックなどの処理部分を一つのクラスにまとめて中で
switch文分岐して処理させようかなーと思ってるんですが、こういうやり方だと遅くなったりするんでしょうか?
座標や状態変数なんかはメインループのある方のクラスに持たせれば、敵にくっついてく敵とかが作れそうですよね。
一応JAVAなのでポリモーフィズムも考えたんですが、数が数なだけに多すぎるので辞めたんですが

画像も予め用意したらその分メモリ食われて遅くなるってこともありますよね?
いかんせんJAVAでのメモリの使われ方が良く分かって無いのでどこかで損してる気がします…

533 名前:名前は開発中のものです。 mailto:sage [2006/11/18(土) 19:54:34 ID:ZKUyfd27]
wait、notifyはObjectにあるメソッド。これはJavaの基本中の基本なので勉強するといいよ。
APIドキュメントよんでごらん。ざっくりというとwaitはスレッドを停止させてnotifyで起こすという感じ。
マルチスレッド使ってるのでこの辺基本を抑えないと大変なことになる。

参考
ttp://www.nextindex.net/java/thread/waitnotify.html

switchだろうが複雑な分岐だろうがCPUだけが処理するようなものは速度的に問題にはならない。
ネックになるとすれば16bitCPU時代くらいでJavaSEとは関係ない。

最初はざっくり作ってリファクタリングをゆっくりやるといいよ。IDE使えば手軽に見通しよくなるし。
オブジェクト指向等も徐々に勉強していきながらでいい。


534 名前:514 mailto:sage [2006/11/18(土) 22:14:54 ID:Bis6pJQA]
>>533
wait()とnotify()意味は半分ぐらい分かったのですが、いまいち調べても
欲しいサンプルが見つかりません…。色々試してはいるんですがなかなか
動いてくれません。ヘタレで悪いんですがゲームで使う時のwait、notify
のコードをちょろっと書いて貰えないでしょうか?

ただ分岐は多くてもいいというのはホッとしました。丁寧なレスありがとうございます。
助かります(^^;。

535 名前:名前は開発中のものです。 mailto:sage [2006/11/18(土) 23:55:20 ID:ZKUyfd27]
基本中の基本だけにしらべればいくらでもサンプルコードが出てくると思うのだが。


536 名前:514 mailto:sage [2006/11/19(日) 10:56:55 ID:1IKPzYYc]
Timer/TimerTaskとwait/notifyを組み合わせられないんです。
どうやったらTimerTaskで周期的にnotifyできるのかとかSynchronizedを付けるべきところとか
探し方が悪いのかも知れないんですが

537 名前:名前は開発中のものです。 mailto:sage [2006/11/19(日) 13:54:05 ID:dZdtxI9w]
自分はこんな感じで実装しているが、間違っていても知らない

public class Hoge extends Thread{

  private boolean processStop = false;
  private WakeTask wakeTask = new WakeTask();

  public void start(){
    super.start();
    new Timer().scheduleAtFixedRate(wakeTask, 0, WAKE_TIME);
  }
  public synchronized void run(){
    while(true){
      game();
      try{
        wait();
      }
      catch(InterruptedException e){
        e.printStackTrace(System.err);
        break;
      }
    }
  }
  private synchronized void awake(){
    if(!processStop) notify();
  }
  private class WakeTask extends TimerTask{
    public void run(){
      awake();
    }
  }
}

538 名前:名前は開発中のものです。 mailto:sage [2006/11/19(日) 20:11:00 ID:8MYA5LfB]
>>536
ttp://www.y-adagio.com/public/standards/tr_javalang2/jTOC.doc.html




539 名前:520 mailto:sage [2006/11/19(日) 23:41:03 ID:yvfHZIx2]
今頃鯖のポート解放忘れてるのに気がついた。
何がしたいんだよ俺・・・・orz

540 名前:名前は開発中のものです。 mailto:sage [2006/11/20(月) 00:56:56 ID:mU6Ad/cq]
リアルタイムシミュレーションでネット対戦できるゲームをjavaで作りたいのですが、参考になるサイトありますかね?
ちなみに自分は今までCで数値シミュレーションを生業としてきてGUI関係はよくわかっていません。
勉強できるサイトがあるとうれしいです。
よろしくお願いいたします。

以上

541 名前:名前は開発中のものです。 mailto:sage [2006/11/20(月) 01:19:17 ID:8PZEbpO9]
ものすごい初心者な質問なんだけど、
普通のゲームってソフトとかクライアントとかをダウンロードするじゃない?
JAVAゲームの場合、ブラウザから直接開始するけど、
読み込み時間みたいのがかなりかかるんじゃないのかな?
音楽もいちいちMP3をダウンロードすることになるの?

542 名前:名前は開発中のものです。 mailto:sage [2006/11/20(月) 01:42:07 ID:HqvpBzdY]
>>540
シミュレーションが、物理シミュレーションかシミュレーションゲームか不明
GUIプログラミングは簡単なので立ち読みか普通のサイト見れば良いのでは
www.javadrive.jp/
www.hellohiro.com/

543 名前:名前は開発中のものです。 mailto:sage [2006/11/20(月) 15:21:51 ID:107nEDGg]
>>541
Javaのプログラムってのはアプレットだけじゃないよ。
通常のアプリケーション等もあるし、一度ダウンロードしたらアプレットはキャッシュからとってくることも出来るし
WebStartはバージョン等が変わってなければすべてキャッシュファイルからとってくる。

そもそもC等で作ったアプリだって同じだぞ。ネット経由でダウンロードするように作ってあるなら。
バックグラウンドスレッドでガンガン落としていけばあまり問題はなさそうだが。

544 名前:名前は開発中のものです。 [2006/11/26(日) 21:31:48 ID:vp/Awfnk]
話題が無いがage
無限にステージが生成されるマリオっぽいゲーム「Infinite Mario Bros」
gigazine.net/index.php?/news/comments/20061126_infinite_mario/

545 名前:名前は開発中のものです。 mailto:sage [2006/11/26(日) 23:34:43 ID:o/jL46vw]
>>544
Wurm Online の中の人が製作しているみたい?
ソース付きだし勉強になりそうだ。

546 名前:名前は開発中のものです。 [2006/11/27(月) 18:13:24 ID:QR83lXnt]
VolatileImageとMemoryImageSourceって一緒に使えますか?

547 名前:名前は開発中のものです。 mailto:sage [2006/11/27(月) 18:15:01 ID:IAG3BIQ8]
使えるけど、後者は使う意味ないぞ
1.1時代の互換性のためだけの遺産だから

548 名前:名前は開発中のものです。 [2006/11/27(月) 18:52:38 ID:QR83lXnt]
詳しく教えてください
VolatileImageでピクセル操作とかできますか?



549 名前:名前は開発中のものです。 mailto:sage [2006/11/27(月) 21:03:56 ID:OAwnVtrw]
VolatileImageは画面モードにも夜がVRAMをさすと思っていい。
VRAM直書きはメインメモリ直書きに比べて非常に遅いので出来てもやらないほうがいいのは常識。

メモリ上のImageを扱うなら1.2以降はBufferedImageを使う。最初にピクセルフォーマットをきめて
配列で扱えること、出来上がった画像を何度もコピーする場合アクセラレーションが自動的に適用される。


550 名前:名前は開発中のものです。 mailto:sage [2006/11/27(月) 21:56:18 ID:L4SNxotk]
>>547
いや、実際にはMemoryImageSourceが一番素直な「フレームバッファ」
で使いやすい。BufferedImageは、メモリ上の配列と直接関連付けられ
ないのが致命的(ピクセル列に見立てたint配列を操作すれば直ちに
対応するImageに反映されるという意味での「Buffered」でなければ、
Rasterなどという扱いにくい邪魔者が出てくるだけでまったく意味が
ない。まだMemoryImageSourceの方がまし)。







[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<296KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef