[表示 : 全て 最新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あたりを参照

284 名前:名前は開発中のものです。 mailto:sage [2006/05/01(月) 20:40:07 ID:nUaQGh3S]
フリーのは、ふりーむ!とベクターで公開してる。
有料のはDLsite.com等で販売中。


285 名前:名前は開発中のものです。 [2006/05/07(日) 00:14:23 ID:W2WiM6Ar]
知っている方がいらっしゃったら教えてほしいことがあります。

以前j2re1.4.1_02でフルスクリーンとウィンドウモードを切り替えるものを作ったのですが
1.5.0_06では解像度の変更が正しくうごかないという事に当たりました。

手順は
1)フルスクリーンにする
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
device = ge.getDefaultScreenDevice();
DisplayMode fullscreen = new DisplayMode(640, 480, 32, DisplayMode.REFRESH_RATE_UNKNOWN);
device.setFullScreenWindow(fullscreen);

2)排他を解除しウィンドウモードにする

GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
device = ge.getDefaultScreenDevice();
device.setFullScreenWindow(null);

この後で1)を行った場合、1.4.1_02ではフルスクリーンで解像度が変わったのですが
1.5.0_06ではフルスクリーンにはなるが解像度が変わらないということになりました。

何かご存知の方がいらっしゃったらお願いします。

286 名前:285 [2006/05/07(日) 00:27:33 ID:W2WiM6Ar]
書き忘れていました。
1)では決まったフレームをフルスクリーン指定してます。

device.setFullScreenWindow(frame);



287 名前:名前は開発中のものです。 mailto:sage [2006/05/07(日) 02:17:45 ID:5a9PuC3k]
元々フルスクリーンと行き来するとリークが発生するから起動時に選択させるほうがいい

ところで意味が分かりにくいのだが
1>2>1ってこと?

288 名前:285 [2006/05/07(日) 02:57:40 ID:W2WiM6Ar]
>287

>元々フルスクリーンと行き来するとリークが発生するから起動時に選択させるほうがいい

ありがとうございます、その方向で考えてみます。

>1>2>1ってこと?

そうです。

289 名前:名前は開発中のものです。 mailto:sage [2006/05/07(日) 11:37:59 ID:5a9PuC3k]
いまやってみたけど画面ちゃんと切り替わったよ

290 名前:285 [2006/05/07(日) 14:11:36 ID:W2WiM6Ar]
>289

j2re1.4.1_02では、繰り返し切り替えたときにちゃんと解像度も一緒に変わったのですが
1.5.0_06ではフルスクリーンにはなりましたが、二度目以降のフルスクリーン切り替えで
解像度が変わりませんでした。(一回目はちゃんと解像度が変わるようです。)

もしうまく切り替わったのでしたらソース、上げていただけませんでしょうか?

291 名前:名前は開発中のものです。 mailto:sage [2006/05/07(日) 14:15:43 ID:5a9PuC3k]
こんなかんじ

GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice device = ge.getDefaultScreenDevice();
GraphicsConfiguration gc = device.getDefaultConfiguration();
DisplayMode mode = new DisplayMode(640, 480, 32, DisplayMode.REFRESH_RATE_UNKNOWN);

JFrame frame = new JFrame(gc);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
device.setFullScreenWindow(frame);
device.setDisplayMode(mode);

Thread.sleep(1000);

device.setFullScreenWindow(null);

Thread.sleep(1000);

device.setFullScreenWindow(frame);
device.setDisplayMode(mode);

292 名前:名前は開発中のものです。 mailto:sage [2006/05/07(日) 14:17:41 ID:5a9PuC3k]
注意事項としてウインドウモードとフルスクリーンモードで
色深度が違う場合テクスチャキャッシュとか全部作り直してね

異なる色深度で転送を行うとすごく遅くなる



293 名前:285 [2006/05/07(日) 14:20:50 ID:W2WiM6Ar]
ソース、ありがとうございます。
確認してみます。

294 名前:285 [2006/05/07(日) 15:30:17 ID:W2WiM6Ar]
>292
先ほどのソースありがとうございました。
フレームの非表示をフルスクリーンとウィンドウ毎にきりかえりため
毎度フレームをdisposeし、再作成していたが原因でした。
ところで、上記ソースのやり方でフルスクリーンのときにだけ
frame.setUndecorated(true);
を有効にしたいとおもい、いくつか試しているのですがうまくいっていません。
作成していたソースを載せておきますので、再度も一度だけご指摘いただけますでしょか?

295 名前:285 [2006/05/07(日) 15:33:08 ID:W2WiM6Ar]
以下がソースです。

GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice device = ge.getDefaultScreenDevice();
GraphicsConfiguration gc = device.getDefaultConfiguration();
DisplayMode mode = new DisplayMode(800, 600, 32, DisplayMode.REFRESH_RATE_UNKNOWN);

JFrame frame = new JFrame(gc);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

System.out.println("初期表示");

frame.setSize(800, 600);

frame.setResizable(false);
frame.setLocationRelativeTo(null);//中央配置
frame.setVisible(true);

Thread.sleep(10000);
System.out.println("フルスクリーンへ");
//frame.setUndecorated(true);//フレームの非表示
device.setFullScreenWindow(frame);
device.setDisplayMode(mode);

Thread.sleep(10000);
System.out.println("ウィンドウモードへ");
device.setFullScreenWindow(null);

296 名前:名前は開発中のものです。 mailto:sage [2006/05/07(日) 16:01:17 ID:5a9PuC3k]
>このフレームの装飾の有効化と無効化を切り替えます。
>フレームが表示されていない時にだけ呼び出すことができます。

マニュアルどおりだと思うんだが

タイトルバーの表示、非表示はフレームが表示されているときは駄目
一度非表示にする必要があるよ


297 名前:名前は開発中のものです。 mailto:sage [2006/05/07(日) 16:03:32 ID:5a9PuC3k]
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice device = ge.getDefaultScreenDevice();
GraphicsConfiguration gc = device.getDefaultConfiguration();
DisplayMode mode = new DisplayMode(640, 480, 32, DisplayMode.REFRESH_RATE_UNKNOWN);

JFrame frame = new JFrame(gc);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setUndecorated(true);
device.setFullScreenWindow(frame);
device.setDisplayMode(mode);

for(int i=0; i<10 ;i++){
Thread.sleep(1000/2);

//ウインドウモード
frame.setVisible(false);
frame.dispose();
frame.setUndecorated(false);
device.setFullScreenWindow(null);
frame.setVisible(true);

Thread.sleep(1000/2);

//フルスクリーンモード
frame.setVisible(false);
frame.dispose();
frame.setUndecorated(true);
device.setFullScreenWindow(frame);
}

298 名前:名前は開発中のものです。 mailto:sage [2006/05/07(日) 16:06:27 ID:5a9PuC3k]
あ、最後フルスクリーンモードで終わってるんでALT+F4な


299 名前:285 [2006/05/07(日) 17:03:17 ID:W2WiM6Ar]
丁寧な反応、本当にありがとうございます。
setVisible(false); の後でdisposeが必要なのですね、
わからずに数ヶ月引っかかっていました。
297でいただいたサンプルなのですが、最後のフルスクリーンの状態で
解像度が640, 480ではなく元に戻っていませんでしょうか?
これを何とかできないかなと
//フルスクリーンモード
frame.setVisible(false);
frame.dispose();
frame.setUndecorated(true);
device.setFullScreenWindow(frame);
device.setDisplayMode(mode);
としてみたのですが、今度はウィンドウモードの解像度が戻らなくなってしまいました。
これが一番最初の質問と同じ状態のようです。

300 名前:名前は開発中のものです。 mailto:sage [2006/05/07(日) 17:32:54 ID:5a9PuC3k]
ウインドウモードのタイミングが指定がおかしかった


//ウインドウモード
device.setFullScreenWindow(null);
frame.setVisible(false);
frame.dispose();
frame.setUndecorated(false);
// device.setFullScreenWindow(null);
frame.setVisible(true);

としてごらん

301 名前:285 [2006/05/07(日) 18:08:49 ID:W2WiM6Ar]
ありがとうございます。
切り替え動くようになりました。
動くようになったので調子に乗って切り替え100回とか試してみたら
java.lang.OutOfMemoryError
がでてきました。最初におっしゃってたように、あまり頻繁に切り替えるもんじゃないって事なんですね。


302 名前:名前は開発中のものです。 mailto:sage [2006/05/09(火) 15:25:13 ID:ii7Fciy7]
ソース見直してたらstaticでいいのにインスタンス生成してる部分が結構あった
インスタンス生成よりstaticの方が軽い、速いかな?



303 名前:名前は開発中のものです。 mailto:sage [2006/05/09(火) 16:50:48 ID:BdqQPpYt]
Java的にはstaticはできるだけ使わないほうがいいらしいけど

304 名前:名前は開発中のものです。 mailto:sage [2006/05/09(火) 17:54:55 ID:oSIIzbHZ]
オブジェクトはプールしないで積極的に生成破棄してくれ
世代別GCとの相性を考えるとこれ

305 名前:名前は開発中のものです。 mailto:sage [2006/05/09(火) 22:27:04 ID:p8kDUjWo]
>>303
実装するにあたって、static変数が必要なデザインパターンもあったんじゃね。


306 名前:名前は開発中のものです。 mailto:sage [2006/05/09(火) 23:23:28 ID:j9harUZK]
>>303
そういう覚え方はよくないよ。勉強しなおしたほうがいい。

307 名前:名前は開発中のものです。 mailto:sage [2006/05/16(火) 11:01:52 ID:oJeJmTzF]
ドラクエってさ、コマンド選ぶと前のコマンドがバックに表示されたまま
次のコマンドが出るじゃん それでキャンセルで現在のウィンドウが消えて
前のコマンドに参照が戻るよね
あれってそれぞれにバッファ用意してやるしかないかな?
たとえば道具→使う→誰に なら
道具を表示するバッファ
道具、使うを表示するバッファ
道具、使う、誰にを表示するバッファ
みたいに

308 名前:名前は開発中のものです。 mailto:sage [2006/05/16(火) 11:35:56 ID:pNczDPI9]
ファミコン時代にバッファがあったと思うか?
ひたすら上書き

ウインドウが消えたらアクティブになったウインドウの描画

それだけだよ


309 名前:名前は開発中のものです。 mailto:sage [2006/05/16(火) 11:37:03 ID:pNczDPI9]
一応レイヤーという考え方もありだが、いまだとそっちのほうが楽だろ
それぞれウインドウ内のみの描画管理
画面全体の描画でそれらを適切に呼び出す

310 名前:名前は開発中のものです。 mailto:sage [2006/05/20(土) 04:48:56 ID:i7QcIrxX]
>>308-309
遅くなったけどサンクス
なんとなく分かってきた

キャラやアイテムのリスト作るのが面倒臭いな・・・
存在してるキャラ、所持してるアイテムを調べてリストにして
多ければウィンドウをスクロールさせなきゃならぬ
面倒だけどがんばるか・・

311 名前:名前は開発中のものです。 mailto:sage [2006/05/20(土) 09:04:00 ID:R0av8b56]
面倒か?
わからなければ先にUMLでもなんでもいいけど処理の手順を書いたほうがいい


312 名前:名前は開発中のものです。 mailto:sage [2006/05/21(日) 05:45:05 ID:BQPLtheI]
処理を考えるのが一番面倒だ
きちんと順序立ててやってみるよ・・



313 名前:名前は開発中のものです。 mailto:sage [2006/05/22(月) 04:54:34 ID:rAUj867u]
俺はデータモデルの設計が一番面倒だなぁ。
変更や拡張に強く、ネットワーク越しの同期の取りやすいデータモデルをとか考え出すとはまり込む。

314 名前:507 mailto:sage [2006/05/22(月) 19:16:41 ID:KUql4eEY]
Javaを最近勉強しはじました。
とりあえず簡単なゲームを作りたいと思っているのですがどれ位勉強すればいいですか?

315 名前:名前は開発中のものです。 mailto:sage [2006/05/22(月) 19:27:29 ID:bgWiXtf3]
ゲーム作りで勉強すれば
そういう本最近多いし

316 名前:名前は開発中のものです。 mailto:sage [2006/05/23(火) 14:28:37 ID:qGRGm1GF]
if else で100近く分岐しそう・・
激重かな

317 名前:名前は開発中のものです。 mailto:sage [2006/05/23(火) 15:24:24 ID:5zoiL+RS]
>>316
どういう風に分岐させたいんだ?

318 名前:名前は開発中のものです。 mailto:sage [2006/05/23(火) 15:30:17 ID:nyPWq5Mq]
100こくらいのifでおもくなるって10MHz切ってるマシンの人かな


319 名前:名前は開発中のものです。 mailto:sage [2006/05/23(火) 22:43:16 ID:qGRGm1GF]
>>317
たとえばさ、魔法クラスがあって、そのメソッドに魔法No.をわたして
そのメソッド内で渡されたNo.によってswitchで分岐させるとか

話がswitchになっちゃったけどswitchは数しかつかえないんだよね、たしか
それ以外で識別したいならif elseしかないと思って

あと、変数は少ないけどメソッドがたくさんあるクラスのインスタンスを
100個くらいつくるとメモリがやばかったりするかな?

320 名前:名前は開発中のものです。 mailto:sage [2006/05/23(火) 22:51:29 ID:wlFUtSp+]
class Magic
{


321 名前:320はミス mailto:sage [2006/05/23(火) 22:57:01 ID:wlFUtSp+]
abstract class Magic{
public abstract void perform();
}
みたいにして、個別の魔法はこれを継承するようにするとJavaらしくなるよね
実際にゲームを完成させる気ならこんなことしないだろうけど

メソッドはたくさんあっても問題なし

322 名前:名前は開発中のものです。 mailto:sage [2006/05/23(火) 23:14:15 ID:qo1KKw1q]
デザインパターン立ち読みでもいいからおぼえとくといいぞ

制御とデータをわけるという考え方は
Cとか構造化言語までのものだ



323 名前:名前は開発中のものです。 mailto:sage [2006/05/23(火) 23:18:59 ID:qo1KKw1q]
>>321
いや、ゲームでも普通はそういうプログラムを書く

それと識別させたいのならenumを使え
switchもつかえるし

324 名前:名前は開発中のものです。 mailto:sage [2006/05/23(火) 23:34:50 ID:qGRGm1GF]
レスサンクス
おかげで設計ができてきた
enumすか・・あまり馴染みがないから学ぶよ

ところで>>321の4,5行目が素でわからない
アフォですまぬ
教えてもらっていい?

325 名前:名前は開発中のものです。 mailto:sage [2006/05/24(水) 00:05:11 ID:qo1KKw1q]
ポリモーフィズムとかStateパターンとか
そのへんしらべてみるとわかるよ

326 名前:名前は開発中のものです。 mailto:sage [2006/05/24(水) 00:29:52 ID:0rz/nhQ6]
おk、ゲーム作りながら勉強する
いろいろサンクス

327 名前:名前は開発中のものです。 mailto:sage [2006/05/27(土) 11:28:27 ID:MsTUcez+]
VectorにStringとInteger入れて、取り出すときに
Integerの要素をStringでキャスト、変換したり
Stringの要素をIntegerでキャスト、変換したら
エラー出るかな 面倒くさいんでInteger、Stringで統一してるんだが

勉強すればわかることだけどもしよければレスちょうだい

328 名前:名前は開発中のものです。 mailto:sage [2006/05/27(土) 11:38:38 ID:EufEKVaf]
それぞれIntegerとStringが対応してるんなら
class (名前)
{
public String getString();
public Integer getInteger();
}
みたいなクラスを作る

対応してないんだったら、String用のVectorとInteger用のVectorを別にする

329 名前:名前は開発中のものです。 mailto:sage [2006/05/27(土) 11:49:40 ID:ryxQUfnb]
キャストはかならずクラスの関連性がないと無理
かならず数字を含む文字列ということであれば格納前に返還すればいいだけの話だが
この情報だけではどうしたいのかがわからない

あとゲームということは多少パフォーマンス気にすることも多いのだろうから
Swing部分使わないのならVectorよりはArrayListで

シングルスレッドならパフォーマンスはまずかわらんけどな


330 名前:名前は開発中のものです。 mailto:sage [2006/05/27(土) 13:09:54 ID:MsTUcez+]
即&わざわざレス感謝
ArrayListの方がパフォーマンスいいのか・・・
大分Vector使ってコード組んじゃったから、今度からはそうしよう
RPGだからスレッドはマップのキャラ動かすのとアニメーションくらいしか使わないと思う

Vectorの指定された要素がIntegerかStringかで
変換、キャストしたのちifで分岐させて処理を分けたいと思ったんだけど
やっぱり元々のVectorを別にした方がわかりやすかった 対応してないし

話変わるけど、コマンドの実装が面倒だ・・
移動コマンド、アイテムコマンド、魔法コマンド、使用対象コマンド・・
それぞれにクラス作ってそのクラスのキーイベント処理メソッドを
現在のコマンドモードによって呼び分けなきゃならん
いい方法ないかな

331 名前:名前は開発中のものです。 mailto:sage [2006/05/27(土) 13:39:56 ID:8ehQx4Ia]
よくわからんがキーイベントにゴリゴリ書いてるのか?
それならフレームワークの設計自体からやりなおしたほうがいいぞ

332 名前:名前は開発中のものです。 mailto:sage [2006/05/27(土) 13:57:59 ID:MsTUcez+]
ゴリゴリ書いてる・・
とりあえず組んでみようとは思ったがマジで勉強が足りんらしい
チラ裏スマソでした



333 名前:名前は開発中のものです。 mailto:sage [2006/05/27(土) 14:12:56 ID:8ehQx4Ia]
キーイベントではキーの入力フラグを上げ下げするだけ
そしてゲームのループ内でそのフラグを読み取る

これでおけ

334 名前:名前は開発中のものです。 mailto:sage [2006/05/27(土) 14:23:34 ID:MsTUcez+]
ゲームループ内だとkeyTypedメソッドが呼ばれてから
時間差があるかもと思ってkeyTypedメソッドから
直接各コマンドクラスのメソッドを現在のコマンドモードで分岐させて呼んでた

ドラクエみたいなのを再現しようと思ってるんだがゲーム作りって難しいな
俺のゲーム作りが終わるまでJavaが生き残ってるといいんだけど・・

ここの住人はレベル高いね スレ汚しスマソでした

335 名前:名前は開発中のものです。 mailto:sage [2006/05/27(土) 14:52:54 ID:8ehQx4Ia]
ループ内は60fpsとか固定でチェックするから問題ないよ

というか、普通のゲームはイベントで処理するところはほとんどないから
それを隠すためのフレームワークというかそんなもの

まず言語的にJavaがどうのこうのというよりゲームプログラミングに対しての
技術がちょっと足りないかなぁという感じがする

10~20年前だったらゲーム作りとかいろんな本で毎月雑誌に載ってたんだけどな

いまじゃ残ってるプログラム雑誌がなくなってるし、ユーザーが求めるものが
高すぎてギャップで苦しんでる人が多いのはつらい時代だな

とにかくメインループで取得して状態に応じてswitchで戦闘時なのか移動時なのか
キャンプコマンド中なのか分離するようにかけばおけ

336 名前:名前は開発中のものです。 mailto:sage [2006/05/27(土) 17:41:03 ID:MsTUcez+]
ゲームの作り方か・・
一から設計見直すよ
マジで参考になった、ありがとう

337 名前:名前は開発中のものです。 [2006/05/28(日) 16:35:03 ID:su6FTHmr]
C++だとエフェクト(爆発とか)は加算合成を使うって書いてあるんですがJavaでも同じような方法で実装する手段ありますか?

338 名前:名前は開発中のものです。 [2006/05/28(日) 17:06:46 ID:oT4lybEG]
Java2Dには通常合成はあるが加算合成はない
自前で実装するかJOGLとかで3Dで描画するしかない

>>11とかのライブラリに単純な合成がある模様

339 名前:名前は開発中のものです。 mailto:sage [2006/05/28(日) 22:35:07 ID:L8EQs44V]
>316
ifをバイナリツリーみたいな構造にすれば
log2(100)の回数の比較だけで済むんじゃないか?

340 名前:名前は開発中のものです。 mailto:sage [2006/05/30(火) 19:56:51 ID:AkbGbw5f]
mpeg2のような差分圧縮形式のシーケンシャルアニメーションって負荷高いですか?
レイヤー可能でそれを実現できたらコンパクトになるなと思ったのですが

341 名前:名前は開発中のものです。 mailto:sage [2006/05/30(火) 21:02:41 ID:bnvMLnBd]
Javaの質問と関係ないな
効率がいい場合と効率が悪い場合があるっしょ

342 名前:名前は開発中のものです。 mailto:sage [2006/05/30(火) 22:16:22 ID:AC7eOzy5]
>>339
ポリモフィズムで解決という結論がとっくに出ていると思うのだが




343 名前:名前は開発中のものです。 mailto:sage [2006/05/31(水) 19:31:13 ID:kqayNosp]
みんなが配布物に同梱してるSPIってOGG Vorbisくらい?
これが便利ってのがあったら教えてください。

344 名前:名前は開発中のものです。 mailto:sage [2006/05/31(水) 22:06:19 ID:H+lYwXra]
だろうね
OggVorbisさえ再生できればだいたいこまらん


345 名前:名前は開発中のものです。 mailto:sage [2006/06/01(木) 20:01:54 ID:oy8AdH4m]
Javaのゲームライブラリ作成中。Flashの1/2くらいの表現力、生産性が目標。
まぁ皆も半月くらいでライブラリは作って、オーサリング環境作るのに挫折するんだろうけどね。

346 名前:名前は開発中のものです。 mailto:sage [2006/06/01(木) 23:16:05 ID:mTuQuIix]
普通に考えてFlashより表現力は上だし
生産性もFlashはスクリプトがおわっとるからまけないだろ

347 名前:名前は開発中のものです。 mailto:sage [2006/06/01(木) 23:24:39 ID:IyLxQihX]
実行環境の普及率と人々のイメージ

348 名前:名前は開発中のものです。 mailto:sage [2006/06/02(金) 02:24:25 ID:IlXUhKKR]
FLASHと比べるんだからブラウザ上で動かすんだよな
・MIDIや圧縮音声を再生する
・BGMと映像を確実に同期させる
・表示サイズを変更するとそこそこのクオリティで拡縮表示する
あたりが大変そうだ

349 名前:名前は開発中のものです。 mailto:sage [2006/06/02(金) 07:57:55 ID:OCsBTCKI]
・JavaSoundでmidiと圧縮音声は問題なく可能。すぐ上でOggの話が出てる。
・BGMとの同期はそうつくればいいだけ。
・拡大縮小時にアンチエイリアスをかけるかどうかの設定が可能。アルゴリズムも設定可能。

別に大変じゃないし


350 名前:名前は開発中のものです。 mailto:sage [2006/06/02(金) 21:25:12 ID:cNNwG7w6]
Flashは、例えばMovieClipの完成度の高さが大いに参考になる。
あれはComposite、Prototype、Flywightなどの
パターンの組み合わせがかなり洗練されててしかも使いやすい。

なんかFlash8.5からはさらに高度なAPIを持つらしいし
実装の研究をする教材としてはかなり好奇心がくすぐられる。

351 名前:名前は開発中のものです。 [2006/06/05(月) 07:16:50 ID:voSd2aR7]
JavaでノベルゲームとかRPGって作れますか?

352 名前:名前は開発中のものです。 mailto:sage [2006/06/05(月) 10:04:02 ID:EcpAwWeS]
macromediaはずっとデザイナー偏向で作ってきたけど
adobeとの合併で技術者向けのAPIも良くなってくと思う

でもFlashの対抗馬である事に関して、Sunは殆ど興味ないみたいだな
5年前のJavaに今の速度があればいい勝負になってたかもしれんのに

>>351
うん



353 名前:名前は開発中のものです。 mailto:sage [2006/06/06(火) 01:13:29 ID:wO6xzgzA]
>>351
余裕

>>352
Flashの代替はのぞんでないだろ
今はアプリと鯖メインでは?

ただJAX-WSとかGroupLayout標準装備があるんで
企業向けではアプレットやWEBStartが今でも多少使われているのが
今後さらに加速するかも


354 名前:名前は開発中のものです。 mailto:sage [2006/06/06(火) 23:16:48 ID:/CfzneHU]
個人的にはアプレットが一番好きだ
Webで公開して気軽に遊んでもらえるし

355 名前:名前は開発中のものです。 mailto:sage [2006/06/06(火) 23:20:22 ID:wO6xzgzA]
1.1時代のアプレットだとまともにうごかんしな
1.2以上だと別途セットアップが必要
1.2時代のJREなら今のブロードバンド時代なら問題は少ないのだが
5.0のサイズはすげぇ
1.4がかわいく見えるくらい


356 名前:名前は開発中のものです。 [2006/06/07(水) 21:23:04 ID:IghNSOPk]
今はJavaくらいふつうに入れてない?
メーカー製パソコンとかって入ってないの?

357 名前:名前は開発中のものです。 mailto:sage [2006/06/07(水) 21:41:53 ID:4a3JF+Q3]
まあJREも楽勝でインスコできるからな

358 名前:名前は開発中のものです。 mailto:sage [2006/06/07(水) 23:03:47 ID:k1IxK3O2]
>>356
バージョンは買ったときのマシンでばらばらだしそれを期待するのはちときつい
ゲームなら新しいバージョンになればどんどんよくなってるのが敏感にわかる

359 名前:名前は開発中のものです。 mailto:sage [2006/06/14(水) 15:09:12 ID:LwkvhD3f]
>>354
JavaWebStartも良くない?
あれ対応のゲーム出てくると使う側としては楽チンなんだが。見ないね。

360 名前:名前は開発中のものです。 [2006/06/14(水) 17:48:02 ID:Kbfca28q]
Javaで簡単なゲーム作るにはどれ位勉強すればいいですか?

361 名前:名前は開発中のものです。 mailto:sage [2006/06/14(水) 18:00:49 ID:gnk1ZbZr]
「簡単なゲーム」の定義と脳味噌の質によります

362 名前:名前は開発中のものです。 mailto:sage [2006/06/14(水) 18:55:46 ID:oiUcwSTz]
>>360
3じかん位かな?



363 名前:名前は開発中のものです。 mailto:sage [2006/06/14(水) 20:43:32 ID:E7n+afyq]
アプレットにしてもWebStartアプリケーションにしてもセキュリティの問題がつくからね

364 名前:名前は開発中のものです。 mailto:sage [2006/06/14(水) 21:01:18 ID:KYL0jDeY]
>>363に横から追加
Java Web Startってサーバー側にmime-typeの追加が必要だから、
レンタル鯖じゃ動かない可能性あり。

MIME-TYPE:application/x-java-jnlp-file

365 名前:名前は開発中のものです。 mailto:sage [2006/06/15(木) 13:30:54 ID:tNRE7/uO]
>>364
そこは連鎖場屋の中の人にMIME-TYPEの使いを頼めばなんとかなる予感。

366 名前:名前は開発中のものです。 mailto:sage [2006/06/16(金) 00:52:38 ID:yygRlJ/S]
apacheなら個人でもなんとかなるが、運用次第だな


367 名前:名前は開発中のものです。 mailto:sage [2006/06/17(土) 12:40:34 ID:msfIS4LL]
レンタルサーバーでJMSとか使えないかな
ApacheのActiveMQとかで低負荷のCGI代わりに使いたい

368 名前:名前は開発中のものです。 mailto:sage [2006/06/17(土) 13:13:35 ID:Z2AWkk9k]
1台丸ごと借りるならいけるけど
月1,2万かかるよ

369 名前:名前は開発中のものです。 mailto:sage [2006/06/17(土) 13:31:48 ID:msfIS4LL]
それだと完全にASP側に回ってるのと変わらないね
diceやtalkなどシンプルな機能をメッセージングできれば
使い方を決めるのは利用者側みたいなのイメージしてたんだが

370 名前:名前は開発中のものです。 mailto:sage [2006/06/17(土) 14:46:45 ID:Z2AWkk9k]
DBにしてもレンタル鯖のは使い物にならないのと同じ

371 名前:名前は開発中のものです。 mailto:sage [2006/06/17(土) 17:29:15 ID:cZqcM90l]
昨今のDIブームに乗ってアスペクト志向を取り入れようとして挫折気味
設計だけが楽しいみたいな状態に陥ってしまったw

372 名前:名前は開発中のものです。 mailto:sage [2006/06/17(土) 18:48:38 ID:Z2AWkk9k]
ゲーム開発でアスペクトが生きるかどうかはデバッグ時以外では微妙だが
DIはたぶん便利になる
俺も次のゲーム開発ではDIで開発するつもり



373 名前:名前は開発中のものです。 [2006/06/17(土) 23:46:12 ID:2TpnxAFo]
ゲーム開発でDIって例えばどんなの?

374 名前:名前は開発中のものです。 mailto:sage [2006/06/17(土) 23:58:20 ID:kRFswYuv]
例えば以下の内容を記述した設定ファイルを用意する
<resource id="hoge" path="rsrc/hoge.jpg" gen="org.hoge.SPIImageLoader"/>

んで

ImageLoader il = new ImageLoader(conf_path);
BufferedImage img = (BufferedImage)il.getImage(id);

これが基本形。こっからどうするかは腕次第。

375 名前:名前は開発中のものです。 mailto:sage [2006/06/19(月) 21:46:48 ID:Zb7E8WNx]
サウンドにフェード(イン/アウト)、パン(レフト/ライト)の加工をしたいのですが
ぐぐって見た限りではそれらしきところが見当たりませんでした。
これらは割りと基本的なものだと思っていたのですが、Javaにはない機能なのでしょうか?

376 名前:名前は開発中のものです。 mailto:sage [2006/06/20(火) 00:23:13 ID:z0sECMlC]
あります

377 名前:名前は開発中のものです。 mailto:sage [2006/06/24(土) 21:54:42 ID:pcuzjDvS]
フェードはFloatControlで出来ると思うけど、パンってどうすればできるの?
2スピーカーなら2スピーカー分のFloatControlが必要になるよね?

378 名前:名前は開発中のものです。 mailto:sage [2006/06/24(土) 22:08:59 ID:pcuzjDvS]
あ、そういうことか。自己解決orz

379 名前:名前は開発中のものです。 mailto:sage [2006/06/25(日) 14:38:34 ID:fAOFmqJM]
MIDIのSequencerでループさせようとしても
ループの開始時のgetTickPosition()が-2000とかなって余計な雑音が入る。
setLoopStartPoint(0)と設定しても効果なし。
現在はisRunning()でsleepはさむ方法でループさせているが気持ち悪い。

何かよい解決方法があれば教えてください。

380 名前:名前は開発中のものです。 mailto:sage [2006/06/25(日) 16:59:01 ID:B6He1TJy]
MIDIに送り出す部分を自分で作ってるの?
そうではなくMIDIファイルから単に流すだけならループ関係はどうしようもないよ

音源ドライバとか昔の8bit16bit時代ならいくらでも情報は手に入るから
そのへんさがすしかないかな

381 名前:名前は開発中のものです。 mailto:sage [2006/06/25(日) 20:25:58 ID:US/w5wC7]
Java2Dと違ってJavaSoundはちょい敷居が高めだね
ogg対応かつ簡単なエフェクトが掛けられるAudioClipが登場してほすぃ
標準で。

382 名前:名前は開発中のものです。 mailto:sage [2006/06/25(日) 20:36:42 ID:AQjDLDTE]
AudioClipは使い物にならないから今の実装だとoggが再生できてもいらね



383 名前:名前は開発中のものです。 mailto:sage [2006/06/25(日) 20:42:16 ID:US/w5wC7]
だからand条件つけてるやんw

384 名前:名前は開発中のものです。 mailto:sage [2006/06/25(日) 21:37:23 ID:AQjDLDTE]
エフェクトつけれたところでいらんだろ
あんなバッファサイズ最大制限が小さくオンメモリ必須なClipは

実装上の問題で音楽にも効果音にも使えないし

あとJava2DよりJavaSoundのほうが敷居は低いと思うよ
5.0以上ならだいぶ使いやすくなったJavaSoundにたいしていまだにアクセラレーションの聞く範囲がせまく
アルファブレンドもほとんど使えないJava2Dよりはね






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

前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