07/05/05 00:18:32 E4gxwLZa
爆発のエフェクトを作りたいんですが、爆発させるときにTimerTaskオブジェクトを生成して起動、爆発が終わったらcancel()で破棄って方法でよいでしょうか?
何か大量に爆発させるときオブジェクトごとにTimerTask起動するのはあまりよくないような気がするんですがいい方法ないでしょうか?
881:名前は開発中のものです。
07/05/05 00:23:25 qNXdFV63
そもそも、ゲームPGでは余りスレッドを使わないんじゃない?
882:名前は開発中のものです。
07/05/05 00:37:49 Z2/Vlbj0
基本的にはオブジェクトごとにスレッドはやめとけ
関連性のないエフェクトだけ別スレッドというのはやってもいいけど(というか3Dはわりと普通気味)
そういうのはスレッドプールとか使うのが普通
こまめにON/OFFはとろいぞ
883:名前は開発中のものです。
07/05/05 07:46:38 E4gxwLZa
ありがとうございます。
結城さんのデザインパターン本のスレッド編にWorkerThreadの実装があったけどこれかな。
URLリンク(www.hyuki.com)
あとJakarta CommonsにThreadPoolっていうクラスがありました。
URLリンク(jakarta.jp)
調べてみます。
>>881
とはいってもスレッドプールも結局スレッドですよね。
スレッド使わずにアニメーションとかできるんでしょうか?
884:名前は開発中のものです。
07/05/05 10:37:03 Z2/Vlbj0
>>883
スレッドをかんちがいしてないか?
ゲームで処理単位でスレッドは使う必要はない
使う場合同期等ちゃんと理解してから出ないとダメ
スレッドプールは標準APIにはいってるんだからそれを使えばいい
これはこまめにスレッドを生成破棄しないからタイマータスクの生成+破棄とはまったく動きが違う
言っている意味がわからないならスレッドは使わないで下され
885:名前は開発中のものです。
07/05/05 14:36:33 S0VZ5lLo
>>883
普通にwhile文を使って、一こま毎計算して表示する。
スレッドは処理の種類によって必要なら使うと言う感じでは。
ある程度本格的なゲームPGの本とか、次の本辺りを読んでみれば分かると思う。
URLリンク(www.amazon.co.jp)
URLリンク(www.amazon.co.jp)
886:名前は開発中のものです。
07/05/05 20:16:15 2yfTJp2D
どうでもいいことだが、
>タイマータスクの生成+破棄
が
>タイガーマスクの生成+破棄
に見えた。
887:名前は開発中のものです。
07/05/05 21:13:20 LKYrIilR
タイガーマスクと聞いてなぜかアンパンマンの顔が浮かんだ。
アンパンマンの顔のライフサイクル想像すると笑えるw
888:名前は開発中のものです。
07/05/16 02:33:22 qUFCPdNa
sdljavaが結構いいと思うんだけど
このスレ的には評価はどう?
889:名前は開発中のものです。
07/05/16 11:33:01 EfvfG/mQ
それ開発とまってなかったっけ?
アクセラレーションもつかえないし、ネイティブのSDLもあんまりほめられたものじゃないけどね
890:名前は開発中のものです。
07/05/16 16:28:36 dKqdtDi9
sdlって俺だと動画表示くらいしか使わんなぁ。
動画ならJMFのVideoRenderer実装してるんで間に合ってる。
他はCDへのアクセスとジョイスティックだっけ?
javaゲーをCD・・・。
891:名前は開発中のものです。
07/05/25 00:14:02 Odp2f4Vl
graphicsクラスとかImageうんたらクラスとか描画関係のことだが、javaSE6(別に5.0でもよい1.4より新しい奴)でどうすればいいのかサンプル紹介しているページないかな
とりあえず、BufferStrategyとかが1.4で加わったのは記憶にあるのだが、それ以降描画関係一切追いかけてないのでどのAPI使うのが最新手法なのかよくわからん
その辺の解説とサンプル紹介しているページキボンヌ
892:名前は開発中のものです。
07/05/25 04:15:14 xzeMUWWG
SE5,6のJava2Dは内部実装が変わっただけで1.4以降から特に使い方が変わるようなAPIの変更はないよ。
強いていうならLCD向けアンチエイリアシングが強化されたのと、JOGLから描画パイプライン触れるようになったくらい。
アプリケーションプログラマには関係ないね。
だから1.4の事知ってりゃ、それが使える。
893:名前は開発中のものです。
07/05/25 10:07:11 gi7La1ao
確か、Java in the Boxにいろいろ記事がありましたよ
URLリンク(www.javainthebox.net)
それと、Java NIOは次の本が結構詳しい
Developing Games in Java
URLリンク(www.brackeen.com)
URLリンク(books.google.com)
894:名前は開発中のものです。
07/05/25 10:27:15 BH7EzlMX
JavaSE6のOpenGLパイプラインは不安定なのでデフォ動作は取りやめになったよ
おかげでSwing+JOGLが5.0までとおなじ遅い動作しかできん
895:名前は開発中のものです。
07/05/25 19:17:37 GvMFqj5n
win版のOpenGLまわりは全部VGAドライバ寄りの原因だからしかたない。
プロパティ与えて起動すると描画がめちゃくちゃだからな。
そもそもゲームはSwingと相性悪いからAWTで良いよ。
896:名前は開発中のものです。
07/05/25 21:01:58 M11kx4ro
MORPGとかネット対応とかになるとSwingコンポーネント使えないのは不利かと
ドライバの不具合ってほんの一部の話なら別にそのドライバが対応すればいいだけのこと
nVidia、IntelともにOpenGLを有効にしてもまともに動かないのだから原因は他にあるはず
897:名前は開発中のものです。
07/05/25 23:14:46 Odp2f4Vl
891です
レスさんくすです
参考にさせていただきます
それはそうと、今日15才からはじめるJavaゲーム製作だかなんだか言う本を軽く立ち読みしたのだが、
音楽とかタイマ関係まで一通りそろってそうでよさげだと思っている
ただ、心配なのが、ここで使ってるAPIて古い奴まじってたりしない?
わかる人、教えてくれ
898:名前は開発中のものです。
07/05/25 23:26:30 M11kx4ro
そこのは1.4だったかな
許容範囲
Javaのゲーム開発本は大量にあるが唯一実用となる書籍として有名なやつだよ
新目なのに1.1対応とか、やってることがひどいとか参考にならないのが多いからね
@ITとかも平気で嘘のせるからAPIマニュアルとソース読むしかないというのが悲しい
とりあえずその本で一通りわかるようになったら次はたぶんOpenGlとかやるレベルだから中級まではそれでいいと思う
899:名前は開発中のものです。
07/05/25 23:47:07 Odp2f4Vl
>>898
レスさんくす
土日勉強してみます
>そこのは1.4だったかな
>許容範囲
だよね
俺の会社(メーカー、ソフトハウスじゃないが、ソフトもそれなりに作ってる)もほとんど1.4しか使ってない
極たまに5.0のところあるが、6は使ってる部署0
900:名前は開発中のものです。
07/05/26 00:42:13 px/b9uk2
15さいからはじめる~は日本のjavaゲー本の中では良い本だよ。
あれの内容を完全に理解できたぜ!ってレベルなら一人でシコシコハードコーディングでもゲーム作れるんじゃないかと。
日本の企業が仕事で1.4系使ってるのは単について行けてないだけだよ。
エンドオブライフだからやめた方が良いんだけどね。5.0の新文法だけでも覚えた方が良い。
趣味グラマの間に使って覚えとくとか・・・。6.0は追う気がないならどうでもいい。
901:名前は開発中のものです。
07/05/26 01:00:42 3yf6+JCa
去年あたりから5.0は普及してるよ
ツールも対応したし、アプリ鯖もJ2SE5.0対応したしね
今年に入ってからアプリ鯖もJavaEE5対応したのが出始めてきたから加速すると思う
効率が別次元なので今のうちに覚えておくといいかと
個人のゲームなら1.4を選択する必要はないしJavaSE6一択かと
仕事だと6は今は検証中だと思う
update1が出る前はほんとひどいバグもちだったし
ただ標準でJAXB2.0やJAX-WS2.0はいったのが面白いし5.0のときはほとんど強化されなかったAPIに
かなり手が入っているのもポイントでびっくりするほど使いやすくなったよ
902:名前は開発中のものです。
07/05/26 03:14:19 E/o29az5
>>900
古いBroadVisionとか使ってる会社だと
今でも1.3onlyだな
つかうちもそうなんだが
903:名前は開発中のものです。
07/05/26 08:34:56 7uwRZyAG
1.3と6じゃVMすら別モンだよな。Swingがまだ屑だったころだしXML APIもろくに無かったころか。
904:名前は開発中のものです。
07/05/26 10:15:56 6pNAZ0zx
でもMACを視野に入れたゲームだと5.0は動かないよね?
905:名前は開発中のものです。
07/05/26 10:56:51 OQbVauRb
たとえば?
906:名前は開発中のものです。
07/05/26 11:08:04 J3LywcEw
>>904
6はだめだが5.0はあるぞ
907:名前は開発中のものです。
07/05/26 12:43:35 OQbVauRb
そういう話じゃないと思うぞ
908:名前は開発中のものです。
07/05/27 22:13:07 8JpcMLEY
15才の~で勉強しようと思ったが、近所の本屋で売り切れだ
ついでに俺の金も無い
てことで、節約してnetだけで勉強しようと思うのだが、Javaでゲーム作りますがなにか?はどうなんですか?
自分が軽く見たところ、基礎からしっかりやってくれているみたいだが、ダメダメなところとか、注意するところありますか?
909:名前は開発中のものです。
07/05/27 23:31:08 wTM4DUzU
本格的に開発しないのであれば通過点としてはそれなりにいいんじゃない?
目的がゲーム作成だけならライブラリ用意してすぐに開発に入ったほうがいいけど。
ただ、画像はImageIO使ってロードしたほうがいいとかバッファは現在のピクセルフォーマットとあわせるといいとか
Java2D細かい挙動が必要になったときがたぶんのってない。
まず>>908がゲーム開発自体はすでにしていてJavaでのやり方がわからないだけなのか
Javaはわかるがゲーム開発自体がわからないのか、どちらもわからないのかによってとるべき道は違うかな。
910:名前は開発中のものです。
07/05/28 00:08:25 kxuyYAly
>>909
Javaはそれなりにやってます(SE5.0、webアプリ開発)
会社の同僚と趣味でSE6勉強してます
最近勉強仲間がSE7だのクロージャだの言い出して、俺自身は最新テクノロジとかよりゲームの方が好きなので個人でゲーム勉強しようかと思ってます
ちなみに、グラフィック、swingは全く触ったことありません
学生時代awtすこし勉強したけど、それも研究室の新人研修だけで、忘れてしまいました
よろしく
911:名前は開発中のものです。
07/05/28 00:25:24 fdi5zjDi
ということはゲームの開発に関する知識だけがないのか
ならそのサイトで軽く覚えるといいかと
あとはJavaに関係なくゲームの作り方を教えてるサイトもみること
流れとかそういうのはかわらんから
基本的にタイマーや垂直同期によって一定頻度でのループをつくり、1フレームごとに処理をしていく
まず最初にキーなどの入力>その後ゲームの処理処理>出力
出力する際逐次表示されているVRAMへ描画していくと描画途中が見えてしまうので
オフスクリーンバッファという見えない領域へいったん描画、出力時にコピーまたはフリップ(フルスクリーン専用)となる
基本的にイベントを取るのはキーボードくらいなのでawtやSwingはそんなに深く知る必要はないよ
912:名前は開発中のものです。
07/05/28 00:34:07 XL3m6L+U
Javaの文法がわかっていてゲームを作るのが目的ならフレームワーク的になっている>>11をつかうのがいいかと。
本格的なSTGも作れるようだし。
自分でフレームワークを作りたいというのなら上記の細かい仕組みを知る必要になるが。
913:名前は開発中のものです。
07/05/28 01:10:28 kxuyYAly
レスどうもありがとう
ゲームは1日1時間てことで明日から1時間位づつゲーム勉強してみまつ
Javaでゲーム作りますが何か?のページ見てたらGTGEが面白そう
とりあえず、こいつの中身読んでみよっかな
なんか、やる気出てきたので週明けから暇であることを祈る
また、なにかあったらよろしく
914:名前は開発中のものです。
07/05/28 09:50:19 dR+mP3mE
俺も毎日一時間以上ゲームPGや勉強やることにしたよと会社から
915:名前は開発中のものです。
07/05/28 11:32:44 ahItnJp8
ゲームはモチベーションを上げるため、と割り切れば勉強のためにもいいとおもわれ。
殺風景な業務用のコンポーネントがならぶだけではなく、フレームの中をボールが飛び跳ねてアニメーションしてるとか
DBとの連携やゲームとの相性の悪くないORマッピングとか、各種デザインパターンとかものにはなるし。
WEBアプリのフレームワーク側ではなくドカタ側にまわってると技術力とモチベーション低下が避けられないからね。
916:名前は開発中のものです。
07/05/28 14:22:09 dR+mP3mE
まさにそんな感じ。
去年まで4年以上ミドルウェアを開発してて、
上司の退職をきっかけにずっと前に出した異動希望が発動して、
グラフや統計などを使う研究用Webアプリを開発することになって、
プログラミング的には難易度が下がった。
とはいえ計画通りだし、年内は勉強しながらMyライブラリを作る。
2年ほどで作りたいのはトバルみたいなの。
917:名前は開発中のものです。
07/05/28 21:47:29 9APdzwvN
トバルとはなつかしいな
918:名前は開発中のものです。
07/05/29 01:11:09 QU7Bv3WN
No.1だな
919:名前は開発中のものです。
07/05/30 00:26:54 9qP8n2n4
トバル2は面白かった
920:名前は開発中のものです。
07/05/30 02:01:02 JwW2N6l2
PSで格ゲーは邪道。SSでアーケードスティックプロ、それが俺のジャスティス!
921:名前は開発中のものです。
07/05/31 08:52:09 zC6v4guW
15才~、以外にお勧めの本もしくはwebある?
ゲーム製作本でなくても、描画とか同期とかキー入力とかゲームに関係あることが書いてある奴があれば教えて欲しい
レベルは基礎でも応用でもどっちでもいいです
あ、javaのAPIは無しね
よろぴこ
922:名前は開発中のものです。
07/05/31 11:46:26 ElLhOgmF
実際のところ標準APIの組み合わせで2Dゲームならだいたいことたりるから
APIマニュアル見ながらテストするのが一番わかりやすかったりする
Javaの命令がわからない、という人ならそれでわからない問題ってのはたしかなかったと思う
ゲームの作り方そのものがわからないならJavaとか言語以前の話
923:名前は開発中のものです。
07/06/02 12:45:52 ySjBjTJY
ようするに、15才~以外にまともな本もホームページも無いのね
924:名前は開発中のものです。
07/06/02 12:47:59 KQGH3f1A
ゲーム開発がわかる人=APIマニュアルだけでおけ
ということだろ
だからある程度のゲーム開発になるとまともな本がない
あとは開発者の減少だろうね
昔はベーマガとか大量にゲーム開発のための本があったわけで
実際同人の開発者もほとんどがその世代である30代以上だ
Javaに限らんのよ
925:名前は開発中のものです。
07/06/02 14:19:19 4zeBTZ5e
MIDPってはやってる?
926:名前は開発中のものです。
07/06/02 14:33:58 bNMRwVZE
MIDP汎用は日本じゃはやってない
やれることが少なすぎるから
ドコモが使ってないというのもあるかも
一応2.0からはやれることは増えたけど使いにくいかな
927:名前は開発中のものです。
07/06/03 11:38:31 foEaYR55
スプライトのアニメーション(イメージの切替)なんですが、スプライトクラスの中でTimerTaskを起動して表示するイメージ番号を切り替えるのって効率悪いですか?
定石としてはメインループで各スプライトに対して表示するイメージを切り替えるメソッドを呼ぶようにするんでしょうか?
928:名前は開発中のものです。
07/06/03 12:21:22 XU9gmanv
つまりメインループとキャラと完全な非同期ってことね
スプライト100個出したら100個のスレッドがたちあがるってことかな?
そうでないにしろ、表示されるタイミングとスプライトの時間管理とのずれが問題になるよね
たとえば1フレームごとに点滅表示させるような場合、それらが同期取れてないのでずっと表示されたり
ずっと消えたままになるよね
各種オブジェクトは内部でカウンタを持って1フレームごとに呼び出されるメソッドで+1していくのが基本だよ
メインループ側(フレームワーク側)とは切り離して独立して動けるようにね
そうすると単体テストが容易になったりするし、見るクラスが1つだけなのでバグもでなくなる
外部からのきっかけがほしい場合はオブザーバーパターンを使えば汎用的になってなおよろし
小規模であまり深く考えないのならpublicなメソッドでもいいと思うけど
929:名前は開発中のものです。
07/06/03 23:30:45 NMJr+FyS
それならフレームじゃなくて時計の時間にスプライトの状態を同期すれば
完全非同期でも問題ないの?
930:名前は開発中のものです。
07/06/03 23:35:39 qjYqK/Ln
タイマつかっても完全同期は無理。
スレッドの動く時間は保障されないし、逐次処理しても当たり前だが時間は常に動いている。
それと処理落ちとかした場合は?OSがリアルタイムでない時点でいくらでもあることだよ。
931:名前は開発中のものです。
07/06/04 01:03:47 LU4adZL7
モーション付モデルデータを表示するために、何か良いエンジンありますか?
932:名前は開発中のものです。
07/06/05 23:07:38 YHsxbudA
>>926
レスサンクス。
auのオープンアプリレイヤーに興味あったんだけどこれからなのかな。
933:名前は開発中のものです。
07/06/05 23:14:12 geU+8UYE
というか新しい機種しか対応してないし、ここはJavaSEの話がメイン
934:名前は開発中のものです。
07/06/06 21:05:44 WeNeu8ST
eclipseでjarファイル生成させたのにクリックしても起動しませんorz
何が問題なんでしょうか。
クリック時にエラーは出ません
935:名前は開発中のものです。
07/06/06 21:18:40 O774Z098
マニフェストファイル作った?
わからないのなら正直NetBeansのほうがいいと思うぞ
必要なライブラリもクラスパス自動登録されるようにしてくれるし
936:名前は開発中のものです。
07/06/06 21:46:27 /nuanp7M
ふむ
同意してみる
eclipseの方が好きなの、ちょっと玄人向けの気もする
何でもかんでも後からplugin追加だからな
その点、NetBeansは何もしなくてもある程度使える
個人的には何もしなくてもWebアプリのプロジェクトがサクサク作られたのが気に入った
しかし、疑問なのはゲーム製作にしてもそれ以外にしてもIDEの話になると、ほとんどの書籍がeclipse使うよな
NetBeansはなんか問題(著作権とか?)でもあるのかね
937:名前は開発中のものです。
07/06/06 21:53:54 O774Z098
NetBeansの使い方知らないやつが多いだけじゃね?
去年のJavaのIDE TOPはNetBeansが選ばれてる時点で流れに乗れない人たちと思われ。
あとEclipseはプラグイン入れるだけでページ数稼げる。これポイント。
938:名前は開発中のものです。
07/06/06 23:20:53 WeNeu8ST
>>935
マニフェストファイルは作ってます
必要なライブラリはありません
大学がeclipseなのでそれを使ってます-`)
939:名前は開発中のものです。
07/06/06 23:58:27 IfzalnNn
考えられるのは、
・マニフェストファイルがおかしい
・実行環境に問題がある
・そういうプログラムである
くらいか
マニフェストファイルをEclipseに生成させるようにしてJARを作成してみたら?
それで上手くいくようなら自作マニフェストファイルがおかしいって事になる
940:名前は開発中のものです。
07/06/07 13:02:37 vuPLnRCS
NetBeansのほうがお勧めというが、
プラグインを入れなくても、
リファクタリングとか、補完とかの機能がEclipseのほうが使いやすい。
必要としない人も多いから何とも言えないが。
まぁ、次期NetBenasで解消されるようだけど。
Swingが速くなったおかげで、重さも解消されたし。
最初からNetBeansを使ってるひとは、Eclipseのほうが便利な部分を知らなくて使っていくだろうし、
逆もそうだとおもうんだよね。
まぁ、初心者にはNetBeansが良いと思う。
941:名前は開発中のものです。
07/06/07 13:04:07 vuPLnRCS
う、下げ忘れた。ごめんなさい。
>>934
まずは、コマンドプロンプトで
java -jar ***.jar
で起動させてみて。
942:名前は開発中のものです。
07/06/07 16:59:15 5Qk7KRIL
>>940
JBuilderとかになれてるとEclipseのほうが使いにくいのだ
EclipseはCTRL+スペースばかりに機能が統合されていてすばやく撃ち込む場合使いにくいのだよ
NetBeansも最近CTRL+スペースに集中してきて悪化している
ユニットテストとかライブラリとかはNetBeansのほうが使いやすいね
EclipseでまともにGUI開発できないってのはまぁ致命的といえば致命的だが
ゲームだとせいぜいコントロールパネルくらいだからどうでもいいか
あ、ゲームだと問題となるのが最新のJDKが推奨されるけど、
Eclipseは最新のJDKが使えない可能性が高いのが問題となりやすいかも
943:名前は開発中のものです。
07/06/07 18:06:19 vuPLnRCS
>>942
なるほど。
JBuilderはほんとの初期しか使ってないから評価できないけど、
forループとかでイテレータ使うテンプレートが無かったのは覚えてる。
あと、sysoutとかで補完とかそういった細かい所は好みの問題だし、
慣れだからね。
確かにユニットテストはNetBeansのほうが良い。
Eclipseはわかってる人からすれば、なんてことはないけど
知らない人に説明するの面倒。
プロファイラも同じなんだよね。
Eclipseのプロファイラの重さはかなり致命的。TPTPとかもうね・・・・。
GUI開発に関しては、VEが一応ある。Matisse(NetBeansのGUIエディタ)も動く・・・・・・有料だけど。
コレが無料ならいいのだけどねぇ・・・・。
ただ、Matisseはソースは出力物であって、編集できない形だから俺はいまいち。
その点VEは編集しても頑張って再現してくれる。失敗も多いけどね。
俺の印象だと、
Eclipse 巨大な整理されていない道具箱
NetBeans 必要な道具だけが綺麗に整理されている道具箱
ある程度使えばどっちも生産性に差は無いと思う。
とくにゲーム制作に関しては。
944:名前は開発中のものです。
07/06/07 18:47:03 5Loz1nuS
>>941
java -jar ***.jarで起動させました
するとエラーが表示されました
eclipseには何も表示されなかったのに何故…
どうやらファイル入出力が拙いようでした
いろいろ弄って何とか解決できました
皆さんありがとうございました
945:名前は開発中のものです。
07/06/07 20:32:04 wcTYYNm5
ん?Eclipseでも実行させたらエラーちゃんとでてるよな?
946:名前は開発中のものです。
07/06/07 20:53:24 vuPLnRCS
Jarにまとめる前に実行するだろうから
やっぱり、コンソールに出力されるはずだがなぁ・・・・。
自動的にコンソールが前面に出てくる設定になってないとか。
947:名前は開発中のものです。
07/06/08 07:45:07 dU1vbfjk
>>943
>俺の印象だと、
>Eclipse 巨大な整理されていない道具箱
>NetBeans 必要な道具だけが綺麗に整理されている道具箱
激しく同意
しかし、最近NetBeansの勢いが増してきた気がする
6.0楽しみだ
Eclipseは最新の技術への対応が遅くなってきて無いか?
ただで使わせてもらってるのにえらそうに言うのもなんだが
ただ、個人的にはEclipseの方が好き
なぜなら、日本語のドキュメントが多いからw
948:943
07/06/08 11:19:22 uRAOQaxB
ちょっと補足。
>Eclipse 巨大な整理されていない道具箱
>NetBeans 必要な道具だけが綺麗に整理されている道具箱
NetBeansは必要な道具が無かった場合、かなり苦労を強いられる。(出来ないことはない)
Eclipseはほとんどの場合箱のなかを探し出せばそれを実現する道具(プラグイン)を誰かが作ってる。
俺もEclipseの方がすき。
長いこと使ってきて愛着があるってのもあるし、使えるプラグインが多いことも私にとっては重要。
Amaterasのプラグインとか無いとやっていけない。
それにNetBeansのとにかく簡単に!という流れに乗ってか、Callisto
という、
コレさえあれば大抵大丈夫っていうプラグインセットも出てきたから
NetBeansの勢いに負けずに頑張って欲しいなぁ。
Eclipseで一番危惧しているのはJavaが疎かになるんじゃないかなってこと。
PHPやC++、Rubyへの対応がニュースの目玉になるぐらいだから・・・。
ゲーム関係ないなw
949:名前は開発中のものです。
07/06/08 11:43:53 0pRpBrj+
NetBeans、この1年でのRuby対応すごすぎ
Ruby対応は今IDEでもっとも旬なものじゃないかな
950:名前は開発中のものです。
07/06/08 14:37:30 S8TOMltZ
>>928
遅くなったけどありがとうございます。
>>スプライト100個出したら100個のスレッドがたちあがるってことかな?
そうです。
結論としてはオブジェクトごとにTimerTask持つやり方でいいってことでしょうか?
951:名前は開発中のものです。
07/06/08 14:43:00 0pRpBrj+
皮肉をこめたあの文章でダメだと思わないのならやめたほうがいい
マルチスレッドでやるにしろスレッドプールと排他制御を理解してからね
タスク間での通信とか大丈夫に見えない
別スレッドでやるにしろ手軽なものじゃないよ
何も考えない場合依存性がないエフェクト関連でしかつかえん
952:名前は開発中のものです。
07/06/08 16:42:07 S8TOMltZ
キャラクターのアニメーションに使うだけなので他のオブジェクトと依存性はないかと・・・
953:名前は開発中のものです。
07/06/08 16:47:14 0pRpBrj+
で、スレッドが増えることによる弊害は考えないの?
各スレッドごとにスタックもつわけだし、綺麗なアニメーションも出来ないよ
954:名前は開発中のものです。
07/06/08 18:43:35 f1IK12WV
fillPolygonなんかで多角形を一色に塗る方法は分かったのですが、
ゲームなんかでよくあるように画像をはめ込むことはできませんでしょうか?
955:名前は開発中のものです。
07/06/08 18:46:08 0pRpBrj+
矩形ならJava2Dですぐ出来るんじゃね?
多角形が必要ならJOGL使ったほうがよさげ
956:名前は開発中のものです。
07/06/08 19:29:42 pznBE7uN
javaのゲームプログラミングを勉強したいんですけど、何かお勧めの本はありますか?
957:名前は開発中のものです。
07/06/08 20:40:58 f1IK12WV
>>955
ありがとうございました。ド素人なんでググるところから始めてみます。
958:名前は開発中のものです。
07/06/08 21:08:19 rLAdfwxn
>>956
ゲームじゃないプログラミングの経験はあるの?
ないならしばらくゲームを作るのは忘れて一般のJavaの入門書買って勉強した方がいい
ゲーム作りながら0から学ぼうとするのはかえって遠回りになるよ
959:名前は開発中のものです。
07/06/08 21:56:13 JbwzLCuD
>>948
一人称を統一してくれ。
960:名前は開発中のものです。
07/06/08 22:31:58 S8TOMltZ
>>953
それを>>927で聞きたかったんです。
やっぱりオブジェクトが増えると効率悪くなりますかね。
今のところ数十個ならちゃんと表示されてるんですが。
一般的にキャラクターのアニメーションとかエフェクトとかでもスレッドプールというのを使うんでしょうか?
961:名前は開発中のものです。
07/06/08 23:06:41 pPM/oaLv
>>958
普通のプログラミングも始めたばかりです
962:名前は開発中のものです。
07/06/08 23:42:07 0pRpBrj+
>>960
スレッドが増えるとメモリなどの効率が悪くなるし、排他制御での効率の問題も出やすい
マルチコアが普及してもこの数年じゃせいぜい同時に動けるのは4スレッド程度
ならば4スレッドつくっておいて毎フレームなげる
100個のオブジェクトがあった場合最初に4つなげて空きができるまで残りの96個は待っている状態になる
ただ、本当に並列動作が意図的にほしいのでないのならマルチスレッドはバグの原因になるから使わないほうがいい
TimerTaskが便利そうに見えるというのならそれはフレーム管理を理解していないだけ
書籍なども読んだりしてまずシングルスレッドで行うようにしよう
バックグラウンドで動かしたいスレッドなんて音楽や効果音などでたくさんあるんだし、必要になってから勉強しよう
並列処理を理解せずにTimerTaskを使うのは危険すぎる
963:名前は開発中のものです。
07/06/09 01:08:05 vu3KtdAq
>>960
いわゆる擬似タスクを使えばいいのでは?
スレッドは同期処理とかなにかと面倒。
964:名前は開発中のものです。
07/06/09 07:49:01 EZVk7j6P
疑似タスクとかフレーム管理とかJavaの本でお目にかかったことないんですがC++関係のゲームプログラミング本に書いてあるのでしょうか。
何かよい資料があれば紹介していただきたいんですが。
965:名前は開発中のものです。
07/06/09 08:32:30 vu3KtdAq
擬似タスクやフレーム管理はJAVAとはまったく関係のないゲームプログラム独特の話。
ウェブならここ。ただしCやアセンブラの時代の話なので概念だけ見るとよい。
URLリンク(www.hh.iij4u.or.jp)
と思ったら閉鎖してたので以下で見てみて。
URLリンク(web.archive.org)
ここもよいかも。
URLリンク(homepage3.nifty.com)
本ならこれ。C++で書かれてて結構新しい本なのでメモリまわりを工夫すれば参考になるんじゃないかな。
「シューティングゲーム プログラミング 松浦 健一郎 司 ゆき」
amazonで検索してくれ。
あと、以下は解説はないけど豊富なソースがある。
D言語で書かれてるので一番参考になるかもしれない(windows系のやつ)。
タスクはActorというクラスで管理している。
URLリンク(www.asahi-net.or.jp)
966:名前は開発中のものです。
07/06/09 08:59:52 bbYOCeLH
場合によってはデザパタ本よんだほうがいいかもしれん
967:名前は開発中のものです。
07/06/09 15:23:47 EZVk7j6P
>>965
JavaであるといいんですがやっぱりC++のほうがゲームプログラミングは充実してますね。
ありがとうございます。読んでみます。
968:名前は開発中のものです。
07/06/09 17:55:28 O4qCppAQ
別にObject指向わかっていればたいしたことはないと思うし、そういうゲームの基礎的な部分ってのは
みんなアセンブラやC,BASIC時代で終えてきた人ばかりだしね
今のほうが基礎的なこととか情報の入手に困る時代
Cでもサンプル少なすぎってわけさ
969:名前は開発中のものです。
07/06/09 19:01:59 Z0TKLmia
タスクシステム使った事ないけどワークメモリと関数ポインタもった構造体のリストを時間ベースで管理するってかんじ?
OOと合うの?普通に並列化したほうがいい気がする。
970:名前は開発中のものです。
07/06/09 19:45:16 zoMf1LX5
SFCの聖剣伝説のようなARPGを作るにあたって、MVCを考慮したシステム設計で悩んでいます。
ARPGを作成する上で参考になりそうなクラス図一覧やシーケンス図が記載されているような
参考書はあるのでしょうか?
JAVAで無い場合はそれ以外の言語でもいいのでよろしくです。
971:名前は開発中のものです。
07/06/09 22:47:46 O4qCppAQ
普通に作れば?
どこがひっかかるの?
972:名前は開発中のものです。
07/06/10 18:04:49 x8dp2pdS
このスレの少し前でも話題になってるようなのですが
15歳からはじめる~の本の応用編PDFのパスワード誰か知りませんか?
出版社のサポートに問い合わせても何の返事も来なくて・・・
973:名前は開発中のものです。
07/06/10 18:16:16 /a81qKx+
>>972
あれの葉書の締め切りとかってもう終わってる?
今から葉書出しても遅いかにゃ?
974:名前は開発中のものです。
07/06/10 20:35:19 StHZ6Btk
>>813見ると送ってももらえなさそうだね
975:名前は開発中のものです。
07/06/10 23:14:46 /a81qKx+
>>974
本当だ
葉書見たら、無料で送付してくれる期間も過ぎてたわ
976:名前は開発中のものです。
07/06/12 22:48:39 54Piwy01
graphic関係で質問
BufferStrategyてJPanelで使えないの?
今、JFrameでWindow作って、その上にJPanel乗せて、JPanelにゲーム画面を描画しようと考えているのだが、間違ってるのか?
直接JFrameに描くほうが正しいのか?
それとも何か解決法があるのか?
すまんが、よろしこ
977:名前は開発中のものです。
07/06/13 00:22:14 xt1HCEaa
ドキュメントちゃんとよんだ?
1行目に書いてあると思うけど。
978:名前は開発中のものです。
07/06/13 00:48:27 DenGxzXk
>>977
もちろん読んでる(BufferStrategyのことだよね)
そこで、WindowsとCanvas上の~~~とあるのはわかるのだが、JPanelやそのほかのコンポーネントでも描画すること多いから、普通に考えるとJPanel上でも使用する方法があるのでは無いかと思って質問した
結論としてはやっぱり、無理なの?
とすると、JFrame上にべた書きか
979:名前は開発中のものです。
07/06/13 00:54:59 xt1HCEaa
ようはライトウエイトコンポーネントじゃないんだよ
WindowとCanvasってのことはね
JComponentなんてかいてないでしょ?
980:名前は開発中のものです。
07/06/22 02:15:12 26NocAGI
ゲーム作ってみたいがどれダウンロードすればいいか分からない
981:名前は開発中のものです。
07/06/22 10:24:46 GQikK9pU
開発環境込みでダウンロードしたいなら
URLリンク(java.sun.com)
昔ながらのエディタでいろいろいじるなら
URLリンク(www.javadrive.jp)
コレ参考にしたらよいよ。