JAVAでゲーム作成
■ このスレッドは過去ログ倉庫に格納されています
0001JAVA初心者・・・
04/01/17 22:47ID:eiE+Mw3o今年に入ってからJAVAでゲームを作ってみようと勉強しています。
どなたか宝さがしゲームを作るうえで参考になるゲームとツール知りませんか??
知っていたら教えてください。<(_ _)>ぺこり
0170名前は開発中のものです。
04/03/18 20:38ID:ymGNyYl11.5からテンプレートが導入されて良くなったね。
って、1.5はまだ正式リリース前か。
Cから虎へ〜JDK1.5について!Part2
http://pc2.2ch.net/test/read.cgi/tech/1079438337/
0171(;´Д`)/ヨワjava
04/03/21 22:11ID:KgBL98Y5Javaゲームプログラミング アルゴリズムとフレームワーク
という本を買ってみました。
ソースはあまり読み易い物では無かったのですが、ゲーム制作に必要な
要素(処理)を知る事が出来た(かも
0172名無しさんは14才
04/03/31 16:08ID:oiKfdr4p心配してくれた人、どうもでした。
怪我はもっと前に治ってたけど、いまいちやる気でなくて。
復活だけど、このスレ普通に伸びてるから、別のところに引っ越します。
0173名前は開発中のものです。
04/05/20 23:20ID:myCQ7NmX復活おめでとうございます。
久しぶりにきてみたら、14才さんがいてびっくり。
って引っ越しですか・・残念です
0174名無しさんは14才
04/05/25 11:14ID:/o9Rv7SJはっ!まさかママン!……なわけないか。
0175名前は開発中のものです。
04/05/28 17:28ID:NAsJERHFただのロム人です(^_^;
14才さんのゲームは何処に行けば見れるんでしょうか(?_?)
0176名無しさんは14才
04/06/02 10:11ID:FbDl9Zmuキャラクターがてくてく歩いてるだけだから、ゲームになってないしー。
もう少し進んだら公開したいなーと思ってるんだけど、このペースだといつになることやら。
0177名前は開発中のものです。
04/06/23 21:41ID:EdKiKd3Y名無しさんは14才 さんは、どのスレに移動したのでしょうか?
知ってる方、教えてください。
0178名前は開発中のものです。
04/06/25 19:00ID:y005C6ts0179名前は開発中のものです。
04/06/25 19:27ID:Z8PdllMf1.4使っていれば2DゲームならJAVAを利用するメリットも大きいし
JREを組み込めばユーザーにはネイティブアプリと違いは分からないし、
Swingとかのコンポーネントだと重さとかネイティブじゃないのがばれるかもしれないけど、
フルスクリーンアプリならその心配もないし。
0180名無しさんは14才
04/07/01 15:45ID:PcO6Pm3v厨房スレですよん。でもあっちもまったり放置中。
ちまちまかいてるけど、もう半年近く見た目が変わってないので滅入り気味。
夏休みになったら、もうちょっと進む……予定。
0181名前は開発中のものです。
04/07/01 21:06ID:Cut2ni94小粒をたくさん作って技術磨いた方がいい
まぁ、マップシステムは一度は手を出しておいた方がいいとは思うけどね
0182名前は開発中のものです。
04/07/10 22:09ID:v2MyCjQyアプレットじゃなくてアプリケーションで
コンストラクタに
doubleBuffer = createImage(640, 480);
gBuffer = doubleBuffer.getGraphics();
〜裏バッファに描画〜
と書いて
paint関数内で
g.drawImage(doubleBuffer, 0, 0, this);
とやっても何も表示されないんだけど、どうしてだろう?
全部をpaint関数内に
doubleBuffer = createImage(640, 480);
gBuffer = doubleBuffer.getGraphics();
〜裏バッファに描画〜
g.drawImage(doubleBuffer, 0, 0, this);
とやると上手くできる。
createImageをpaint関数内で使わないとどうやってもできない。
検索でよく出てくるアプレットのサンプルでは
init関数内でcreateImageしてるんだけどなあ・・・。
0183名前は開発中のものです。
04/07/10 22:53ID:0Y8AoUvEせっかく垂直同期とれるんだし
あとcreateImageで作るイメージは高速描画されないよ
DirectXによるアクセラレーション期待するなら
BufferedStrategyやVolatileImage使うべし
そこまで行かなくてもそれなりにDDB等で高速化したいのなら
createCompatibleImageでやるべし
>>182のレベルから考えるとそれ以前の話気もするが
裏バッファに描画は本当に出来てるの?ImageIOあたりで
ファイル書きだししてごらん
0184名前は開発中のものです。
04/07/10 23:33ID:GFqbLRra用意
しよう
0185182
04/07/11 02:40ID:4Tmsd7Yeコンストラクタでの処理を止めて、専用のメソッド作ってやってみたら出来ました。
ありがとうございます。
ところで、BufferStrategyが作るバッファというのは、どこでサイズを指定するのですか?
検索してみても、サイズを指定していると思われる部分がないのですが。
0186名無しさん@そうだ選挙に行こう
04/07/11 11:39ID:KRMgaTqcそれってたぶん解決してないぞ
コンストラクタでやってもまったく問題ないし
マシンとかによってタイミング的にたまたまうまくいっただけかと
描画がうまくいかないってのはイメージを描画してるの?
よくある話としてイメージのロードを待っていないとかはどうかな?
バッファはウインドウサイズ
通常フルスクリーンだから640*480とか800*600とかになる
ウインドウモードならウインドウのサイズになるがinsetsがあるので
初心者には単純にはお勧めできない
ダブルバッファというのは表の描画面と同じサイズを用意するものだからね
そして切り替えはフルスクリーンだと自動的にフリップに、ウインドウモードだと
ブリットになってくれる
0187182
04/07/11 19:17ID:4Tmsd7Yeあれから色々考えてみましたが、やはりコンストラクタが原因のようです。
コンストラクタ内だと、まだインスタンスが生成されていないために処理が上手くいかないようです。
Image、VolatileImage、BufferStrategyの全てでダブルバッファリングを行い
640*480ほどの画面を1ドット単位でスクロールさせてみたのですが、なんか
どれを使っても画面がたまにちらつく感じになるんですけど、こんなもんですかね?
640*480だと大きすぎるのだろうか。
常時ちらつくわけでもないんですが。たまにチラチラとなります。
0188名無しさん@そうだ選挙に行こう
04/07/11 20:08ID:KRMgaTqcコンストラクタだからダメということはない
640*480でスクロールだけならCPU使用率2,3%くらいですむよ
ちらつきは垂直同期取るのでまったくなし
使い方おかしいと思うけど?
0189名前は開発中のものです。
04/07/12 23:24ID:hxZfdR1tこれって、配布に問題あるんじゃない?
サンマイクロに登録しないといけない。しかも英語で。
まだ実用化できるレベルではないと思うのだが…
0190名前は開発中のものです。
04/07/12 23:38ID:4aXKEpAMもしくはSDLあたりとかJNIで組みましょう
0191名前は開発中のものです。
04/07/13 00:04ID:T4MwyCggXith3D
http://www.xith.org/tiki-index.php
Aviatrix3D
http://aviatrix3d.j3d.org/index.html
JOGL
https://jogl.dev.java.net/
好きなものをどうぞ。
0193名前は開発中のものです。
04/07/14 02:02ID:u8ckWnIljoglをもとにしたOpenGLラッパーライブラリだと捉えられると思うのですが、
Java3Dと比較するとそれらを採用するメリットはどのあたりにあります?
0194名前は開発中のものです。
04/07/16 01:11ID:SKc7EKZg何年か後でもゲーム作れるようになりたいな等と考えているのですが
まずはGUI(SWINGとか?)あたりから勉強すればよいのでしょうか?
0195名前は開発中のものです。
04/07/16 07:47ID:R92f/gQd標準なAPIがそこそこ使えるんだったら、GUIを勉強するのもいいんじゃないでしょうか。
0196名前は開発中のものです。
04/07/16 09:39ID:8UZgIl4tゲーム作るんだったら、Appletかフルスクリーンの一般的なゲームか携帯アプリの3タイプぐらいに
分かれるけど、流行の携帯アプリなんかはどうでしょう?
0197名前は開発中のものです。
04/07/16 10:15ID:P3vfVqR3キャリアで3種類に分かれるし
そのキャリアごとでも複数のバージョンに分かれる
なにより大概開発環境は1.3.1を用意しないといけないこと
速度もメモリも制限多すぎて初心者が手を出すのはどうだろう
一般的な普通のゲームつくればいいんじゃない?
javaっていわれないとわからないようなやつが理想
0198194
04/07/17 01:04ID:Fmqvf01Dレス遅くなってすいません。
携帯アプリも楽しそうなんですがいかんとも漏れの携帯JAVA動かないっす_| ̄|○
Jポンだし・・・
何からやっていいかわかんない位の素人なんで
これをやるには何を学ぶってのがいまいちぴんとしてませんが
とりあえず明日は休みなんで最近Java書籍コーナーにならんでる
ゲーム本開発系の本でもいろいろと立ち読みするとこから始めて見ますね
レス下さった皆様ありがdです。
0199名前は開発中のものです。
04/07/17 01:22ID:znPg9lBj0200名前は開発中のものです。
04/07/18 12:27ID:982Rpxpt0201名前は開発中のものです。
04/07/19 02:54ID:qRKRiKGCひとつ重大な疑問が。
exeファイルを生成するにはどうしたらいいんでしょうか?
元VB派だったので、実行ファイル化する機能がeclipseにも
付いているものとばかり思ってました。
0202名前は開発中のものです。
04/07/19 10:44ID:Njk4hhxwどっちにしろjreが必要なのでインストーラセットにするか
同梱するかが必要だけど、この質問くるということはかなりのjava初心者とみた
java初心者スレの過去ログにこの質問大量に見つかるはずだから見てみるといい
0203名前は開発中のものです。
04/07/19 13:23ID:84bjiiMx0204名前は開発中のものです。
04/07/20 00:36ID:ZADw7o8lありがとう。でも考えてみると、Javaって
ゲーム製作に向いていないのかもしれない。(携帯、アプレットを除いて)
どうしよう。他の言語に乗り換えようかな。
0205名前は開発中のものです。
04/07/20 00:57ID:OA5Qnkhn要はその言語で「作り上げる気があるかどうか」だよ。
実際「向いている」とは思わないが、最近は作りやすくなってるよ。
ゲーム向きな資料は他の言語に比べて探しにくいかも知れないけど、がんがれ。
0206名前は開発中のものです。
04/07/20 08:45ID:0/Tm17IqHSPやVBのようなものでゲームがたくさん作られていることから
Javaだから特別向いてないってことはない
そもそもダブルクリックレベルの話をしていることから
むしろJavaのほうが取っつきはいいと思うぞ
とりあえずどの辺が向いてないか考える前にやってみることだ
たぶん99%は間違ってる
0207名前は開発中のものです。
04/07/20 23:07ID:YNJ+j7r3JREごと配布して、ユーザには起動用の.batか.exeを叩いてもらうのが使いやすいかなあ。
0208名前は開発中のものです。
04/07/21 00:01ID:sjxTaSqB一般ユーザーからはネイティブとの違いには気がついてないようだ
batでほとんど足りるんだけど、batを知らない人もいるからね
0209名前は開発中のものです。
04/07/23 22:16ID:mbqPJPUB0210204
04/07/28 01:12ID:pigNDSynやっぱりJavaでいきます。今eclipseの本かって来ました。がんがります。
0211名前は開発中のものです。
04/07/28 02:03ID:H/vRL8q2言語は問題じゃない
0212名前は開発中のものです。
04/07/28 02:04ID:H/vRL8q2がんがれ
0213名前は開発中のものです。
04/07/28 04:03ID:pxSB7uFPそれをバラバラにして特定のパーツを呼び出すのは
どうすればいいのでしょうか?
0214名前は開発中のものです。
04/07/28 04:11ID:pWvKd6xAGraphics.drawImage(Image, int, int, int, int, int, int, int, int, ImageObserver)じゃダメなのか?
0215名前は開発中のものです。
04/07/28 04:26ID:pxSB7uFPpublic void abc(int x int y){
Graphics.drawImage(Image, 0, 0, 30, 30, 0+30*x, 0+30*y, 30+30*x, 30+30*y, ImageObserver)
}
30*30のパーツだとするとこれでいいのですか?
abc(0,0);
これでImage[0][0]が呼べるのかな。
0216名前は開発中のものです。
04/07/28 04:43ID:pWvKd6xAいや、そういうことじゃなくてチップ番号と座標を対応させて一枚の画像から必要な部分だけ
その都度スクリーンに描画するようにすれば、読み込んだ画像をバラバラにして管理する
必要はないんじゃないのか?
0217名前は開発中のものです。
04/07/28 04:52ID:pxSB7uFPそのやり方がよく分かりません。
まだまだ勉強不足のようです。
0218名前は開発中のものです。
04/07/28 09:48ID:H/vRL8q2アクション系ならロード時にイメージを新規に作ってそこに描画した方がいいぞ
注意すべきはロードするイメージはVolatileImageではなくて
コンパチブルイメージを使うこと
http://shin.cside.com/product/shingl/index.htm
このライブラリを使ってる人とのやりとりと日記みてわかった
0219名前は開発中のものです。
04/08/30 23:48ID:ERs1bP5fサーバプログラムは参考になるソースを見つけたのでそれを元に作成しています。
クライアントプログラムはいまいち参考になるソースが見つからず、
自己流で作成していましたが、停滞気味です。
クライアントプログラムの作成の参考になるソースや記事等有りましたら、
ご提示いただけると幸いです。
0220名前は開発中のものです。
04/08/31 14:25ID:Z2xpHABT0221名前は開発中のものです。
04/08/31 19:02ID:eG4/8KZGどの部分で行き詰まっているのかかいてもらわんとなんともいえん
>>220
ネットワークの仕組みが分かってるかどうかだよな
まずはTCPベースでいろいろやってみるといいよ
小規模やリアルタイム性が問題にならないのならそのままでもいい
この2者ともまだ言語的にJavaかどうかのレベルではないなー
0222名前は開発中のものです。
04/08/31 23:28ID:bWsLtK/e全体的な構造は、下記のソースコードを参考にして作成しています。
(エミュレートサーバプログラムです)
ttp://sourceforge.net/projects/l2j/
ttp://sourceforge.net/projects/tupi/
>>221
全体的にこんな構造で作成するといったものが分からず、適当に作成しているため、
特にアーキテクチャと言うものが存在しない状態で、
何とか動いているようだけど、ソースはすでによくわからない状態になっています。
このような状態なので、何か機能を追加するにもなかなか進みません。
ネットワークゲームのクライアント作成に関して、
何か参考になるリソースを教えていただけないでしょうか?
今プログラムは、複数の人がマップを歩けるといった状態です。
0223名前は開発中のものです。
04/09/01 00:45ID:JSL7Dn8lとにかく機能をプラグイン的に開発で追加できるようにしておいたほうがいい
特に大規模になるRPGならなおさらだが、STGや格闘なんかもこのプラグイン開発が非常に有効だ
だらだら書いたコードは自分の書いたものであっても後からはかなり追いにくくなるしね
0224名前は開発中のものです。
04/09/01 00:52ID:jkCSki8iこのような大規模(に見える。ソースを見たわけではないので)
サーバのアプリを参考にしてもどうにもならんと思う。
まずは、サーバとクライアントにどのように分けられているかを考えて見ることをお勧めする。
ゲーム作る前に、チャットサーバとチャットクライアントをTCPで作ってみなされ。
それが出来れば、そこに書いているようなプログラムは
ある程度想像できるとおもうが。
要するにチャットでクライアントから送信する文字列の代わりに
クライアントでのキャラクタの操作を送ればいい。
サーバはクライアントから受け取った全ての情報を
全てのクライアントに送り返すだけ。
(ここでは敵キャラとかも居ない前提だから)
まぁ30人ぐらいなら問題なく動くと思うよ。
ちゃんとクリッピングする必要はあるけど。
0225名前は開発中のものです。
04/09/01 01:43ID:7oUT+/5jご指摘の通り、だらだらとその場限りのコードを書いているので、
コードが難読化してきました。
プラグインですか。そういう方向性も考えて、
できるだけモジュール化して少しでも読みやすい形に変えていくしかないでしょうか...
>>224
以前、多人数チャットプログラムは作成したことがあります。
チャットとネットワークゲームのギャップは大きいです。
今は全員にブロードキャストしていますが、そのうちAOI (Area of Interest)も考えていきたいと思います。
0226名前は開発中のものです。
04/09/01 17:01ID:ISPB1QLlとっとと削除依頼出して来いよ。
0227名前は開発中のものです。
04/09/02 07:45ID:Y1Yx8GTH0228名前は開発中のものです。
04/09/02 19:10ID:cCoZW+h9jreって同梱して配布してもいいんですか?
0229名前は開発中のものです。
04/09/02 19:17ID:u4jYIec6アプリと一緒なら大丈夫と
細かいところはちゃんと自分で読めよ
日本語でかいてあるんだから
0230名前は開発中のものです。
04/09/05 18:37ID:JFvG5Cpo↑アプレットで作ったタイピングゲーム。
データはたぶんCGIで処理されてランキングを競える。
はまった(σ・∀・)σ
0231名前は開発中のものです。
04/09/05 19:08ID:3h4b8ntN0232名前は開発中のものです。
04/09/05 19:17ID:GEDEt6J2一定のディレクトリ構成で解凍できていればそれだけで動く
jreのパス/bin/javaw.exeを実行すればそのjreのファイルを使って動いてくれるよ
0233名前は開発中のものです。
04/09/06 00:04ID:w3gEzBitjre+exeにするメリットがよくわからない。誰か教えてプリーズ。
0234名前は開発中のものです。
04/09/06 00:23ID:Ce27N6UBクリックだけで起動できるようにしておけば十分だというのはプログラマ側の意見。
Winユーザは「起動はhogehoge.exeをダブルクリック」とかいうイメージを持っているから、
Win向けならexeも用意しておくのが親切だろうと思う。
0235名前は開発中のものです。
04/09/06 00:32ID:mbfLc7Voあるいは、JWS使ってデスクトップにアイコンを置くか、かな。
0236名前は開発中のものです。
04/09/06 11:28ID:i7I+EB4B0237名前は開発中のものです。
04/09/06 12:20ID:ZBANa6ioたとえば、sleep(10)とすれば20msごとにrun()(1フレームの処理)が実行されるので50FPSになりますか?
それともrun()の中を無限ループにしてThread.sleep()を使わずif文で
if (System.currentTimeMillis() - temp > 20) {
temp = System.currentTimeMillis();
1フレームの処理
}
とした方がいいでしょうか?
どんな性能のマシンでも大体50FPSを保つようにしたいと思っているんですが。一般的な
方法はどうやるのでしょう。ヒントお願いします。
0238名前は開発中のものです。
04/09/06 18:38ID:+gWz+dMOユーザーにJREが入ってるのを期待するという時点で使いにくい
ネイティブアプリと同じ感覚で使うならコレ
しかも、ユーザーのJREを無理矢理上書きしないことと
稼働確認したバージョンが入っていることで安心感がある
セットアッププログラム使えば簡単にデスクトップにショートカット作ったりできるしな
0239名前は開発中のものです。
04/09/06 18:41ID:+gWz+dMOタイマ管理ならメインルーチンはなんらかのObject.wait()で待機
そしてTimerTaskのFixedのほうでnotify()
これで一定間隔で綺麗な時間管理が可能
いろんなのをためしたがコレが一番fpsの安定度が高かった
whileなどのループで監視し続けるのは実は安定度がイマイチ
0240名前は開発中のものです。
04/09/06 19:47ID:ZBANa6ioありがdそれも試してみます
0241名前は開発中のものです。
04/09/14 15:41:48ID:9W9CzUmZソースも入っているのでなんか感想ください。
ttp://gamdev.org/up/img/1230.zip
0242名前は開発中のものです。
04/09/14 16:37:46ID:XDf3I/sN●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●きなこ●●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
これを見た人は確実に【きなこ】です。これをコピペでどこかに1回貼れば回避できます。
これは本当です。やらないときなこ無駄になります
0243名前は開発中のものです。
04/09/14 16:46:02ID:mzvwC+OSRunnableをインプリメントって昔の手法のようなきがしますが、
ゲームでは普通なんですかね。
ゲーム作ってないJava使いの戯言なので、気にしないでください。
あと、マップデータの保存方法が面白かったです。
これなら、エンコーダ、デコーダが必要ないですね。
こんな発想は私にはありません。
さらにがんばってください。
0244名前は開発中のものです。
04/09/14 19:48:38ID:9W9CzUmZありがとございます。
マップデータは最初アスキーコードでファイルに書き込んでたんですが、最近オブジェクトのシリアライズ機能を知ったので使ってみました。
アニメーション入れるときはRunnableをimplementsするか別にThread拡張したスレッドクラス作るかだと思うんですが新しくスレッドクラス作るの面倒くさかったのでimplementsしちゃいました。本当はアニメーション用のクラス作ったほうがきれいだとは思います。
0245名前は開発中のものです。
04/09/14 23:09:03ID:oCIZVQtITimerTask使え
動作が一定にならんぞ
0246名前は開発中のものです。
04/09/15 01:11:45ID:x9fcMx2zスレッドの代わりにってことですよね。
動作が一定にならないってのはどういう意味でしょうか?
性能が違うマシンで実行すると移動速度が変わるってことですか?
0247名前は開発中のものです。
04/09/15 09:04:05ID:x9fcMx2z0248名前は開発中のものです。
04/09/18 00:17:02ID:vzZqw4Glすごい。ドラクエっぽいですね!
ブラウザにつなぐだけ、携帯にものってるjavaって
良い言語だねー 自分も色々作れるように調べてみようかな
0249名前は開発中のものです。
04/09/19 01:28:27ID:SSes8fIuTimerTask でためしに組んで見たけど、アプレットだと描画が行われない。
アプレットじゃなく普通にフレーム作ってやると動くのだが。
メインスレッドは止めちゃいけないのかな。他にスレッド用意する必要があるとか。
class App extends JApplet {
public void start() {
timer = new Timer();
timer.scheduleAtFixedRate(new WakeTask(this), 0L, 20L);
run();
}
public synchronized void run() {
while (true) {
try { this.wait(); } catch (InterruptedException e) {}
Graphics g = getGraphics();
g.drawString("hogehoge", 100, 100);
g.dispose();
}
}
public synchronized void wake() { notify(); }
}
class WakeTask extends TimerTask {
App app;
WakeTask(App app) { this.app = app; }
public synchronized void run() { app.wake(); };
}
0250249
04/09/19 01:44:48ID:SSes8fIuこーゆーやり方が正しい作法なのかは知らんが。
class App extends Japplet implements Runnable {
public void start() {
timer = new Timer();
timer.scheduleAtFixedRate(new WakeTask(tins), 0L, 20L);
new Thread(this).start();
}
public synchronized void run() {
・
・
0251名前は開発中のものです。
04/09/19 09:06:51ID:goqDjYTZ0252名前は開発中のものです。
04/09/19 10:53:43ID:Aq0Xkjw4public class App extends Applet{
:
class task extends TimerTask{
public void run(){
メインの処理;
repaint();
:
ではどうなんでしょうか?
0253名前は開発中のものです。
04/09/19 10:56:46ID:g0x391w9ゲーム自体独立したスレッドでいい
0254名前は開発中のものです。
04/09/20 06:02:36ID:W3SKt6/CTimerTask task = new TimerTask() {
public void run() {
canvas.repaint();
}
};
timer.schedule(task, 0, 1000/fps);
これでいいのかな。
誰が参考になるコードキボンヌ(2D対戦格闘もイケるとか、640x480で30fpsはいけるとか、これ本当?)
0255名前は開発中のものです。
04/09/20 13:13:54ID:ioTee/hTを使用すると恐らくハードウェアアクセラレーションがかかる状態で描画が出来る予感。
OSとJavaVMによりけりだけど。
実はSWTのGCを使うほうが安定して上記とあまり変わらないスピードで描画が出来る罠があったりする。
0256名前は開発中のものです。
04/09/20 18:28:35ID:faYuQGQaおまいさんが実験したJavaのソース キボンヌ。
0257名前は開発中のものです。
04/09/20 19:27:10ID:Y6umYSPO640*480-60fpsいけるよ
ただしアルファブレンド拡大縮小回転を使わないという前提
1.4.2ではこれらはアクセラレーション効かないからね
アクセラレーションはいろんな場合に様々な要素で効いている
Windowsならメモリの確保の仕方でDDB、DIB、DirectXを使って実装している。
G400とかMatrox系はDIBやDDBはすんごい早い。
DirectXはRIVA128以降〜最新チップまで比較的安定。
>>255
それであってる
描画先がVolatileImageやフルスクリーン時のバックバッファならDirectXが積極的に使われるっぽい
描画先もコンパチブルイメージだとDDB
通常のBufferdImageはDIBになる
>>256
あの説明で分からないのならやめとけ
0258名前は開発中のものです。
04/09/20 19:46:32ID:faYuQGQa実装は出来てるよ。
だけど人のソース見るのって楽しいじゃん。
0259名前は開発中のものです。
04/09/20 19:54:46ID:Y6umYSPO0260241
04/09/21 22:03:43ID:og0kzD+1Javaのゲームプログラムを扱ったページを始めたのでよろしければいらしてください。いろいろアドバイスいただければ幸いです。
http://f57.aaacafe.ne.jp/~javagame/index.html
0261名前は開発中のものです。
04/09/21 23:17:10ID:BR/zZftm個人的にはMSVMの新規配布がもはや不可能な現状では
Java2対応にしてスタンドアロンアプリケーションのほうが
いろんなことできて面白いと思うんだが
がんばれ
0262名前は開発中のものです。
04/09/21 23:34:31ID:og0kzD+1ありがd。
アプリケーションにすると余計な処理が増えて、少しわかりにくくなると思ったんでアプレットから書きました。
一応、Java知っている人向けに書いてるのでJDK入れてあることを前提にしてます。
今後はアプリケーション版も追加していこうと思います。
0263名前は開発中のものです。
04/09/22 01:17:04ID:OSkO/iZzしかもアプレットより簡単だぞ
0264名前は開発中のものです。
04/09/22 10:50:38ID:4p3loCSB>しかもアプレットより簡単だぞ
そうなんですか?
私のアプリケーションの作り方だと
public class FrameClass extends JFrame {
public FrameClass() {
MainPanel panel = new MainPanel();
getContentPane().add(panel);
}
}
class MainPanel() extends JPanel {
public void paintComponents(Graphics g) {
// アプレットのpaint()と同じ
}
// キーボード・マウス処理・スレッド等の実装
}
っていうようにフレームとパネルの2部構成にしてるんですが結構面倒なような。
あとアプレットの方がダウンロードしなくても手軽に見てもらえると思ってます。
完成品はアプリケーションの方がいいのは同意しますが。
0265名前は開発中のものです。
04/09/22 16:34:46ID:OSkO/iZzそんな面倒な手続きはいらん
0266名前は開発中のものです。
04/09/22 20:33:54ID:xw9EK35lよく考えた結果アプレットやめてアプリケーションにしました。
0267名前は開発中のものです。
04/09/22 20:54:00ID:OSkO/iZzRPGみたいなのはうまく使えば便利に管理できるだろう
たとえばウインドウはレイヤー使えば綺麗に重ね合わせされるわけだし
でも重ね合わせの処理とか絶対的な速度はSwingまかせなであぶないので
STGとかアクション系ならフレームの生成くらいしかSwingつかわないんじゃないかな
アプリケーションならおとなしくBufferStrategyつかっとけ
0268名前は開発中のものです。
04/09/22 21:22:57ID:YNa9oJMUhttp://www5.airnet.ne.jp/sakuraba/java/laboratory/JDK1.4/Graphics/BufferStrategy/BufferStrategy.html
0269名前は開発中のものです。
04/09/22 23:38:43ID:xw9EK35l勉強させてもらいます。
0270名前は開発中のものです。
04/09/24 04:57:16ID:JbcS0+vISwingなんてクソ重いライブラリ呼び出すなんてNO
ゲームに必要な分だけのシンプルなUI widgetを作るのが漏れは好きだ。
■ このスレッドは過去ログ倉庫に格納されています