[過去ログ]
Javaで作るスタンドアローンゲーム (484レス)
Javaで作るスタンドアローンゲーム http://mevius.5ch.net/test/read.cgi/gamedev/1356591858/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
71: 名前は開発中のものです。 [sage] 2013/01/15(火) 01:15:38.71 ID:MWRm0sFJ 当たり判定について教えて欲しいのですが、 壁にめり込む前に修正してやるのか、とりあえず動いてみてめり込んでいたら修正するのかどっちがいいのでしょうか 前者の場合、 (壁までの距離)<(1フレームで動ける距離)のとき、壁との距離分だけ動かす かな? こっちのほうが何だかカッコイイ気もするけど、何か自由度が下がりそうな気がするんですよね ただ後者は楽だけど、めり込んだ瞬間にアクション起こされた時の対策を加えないといけないですよね http://mevius.5ch.net/test/read.cgi/gamedev/1356591858/71
83: 名前は開発中のものです。 [sage] 2013/01/18(金) 00:06:12.20 ID:cE8dsg28 >>82 仕様に合わせた最適な判定は知らんが(仕様が分からないし) 普通は中心じゃなく四隅を判定する 右移動中なら右上、右下だけとかの省略はできるが で、四隅をプレイヤーサイズじゃなく判定サイズにする ブロックがこんな感じに敷き詰められてると思っての回答になるが ■ ■ ■ ■ ■ ■ ■ ■ ■ 奇数行だから横に動けないとするんじゃなく 奇数行で右に移動中なら右側の判定x座標も奇数目になったら めりこんだ座標分戻すってやる 斜め移動ならブロックのどの面に先に当たったかも必要になる http://mevius.5ch.net/test/read.cgi/gamedev/1356591858/83
85: 名前は開発中のものです。 [sage] 2013/01/18(金) 23:19:47.41 ID:OrI6e3yP >>83 四隅を判定するのが普通なのか?物凄くソースが汚くなりそうなんだが。 普通Rectangleのintersetsみたいなのを使うんじゃないの? http://mevius.5ch.net/test/read.cgi/gamedev/1356591858/85
135: 名前は開発中のものです。 [sage] 2013/02/09(土) 20:55:58.67 ID:qUl0WJoZ 質問 自分でレンダリングする場合、敵だったり弾だったりのインスタンス化と描画の時差というか、タイミングはどうすればよいのですかね 原始的?な方法だと 10発撃てる→あらかじめ画面外に10発とも描画しておく→キー入力でsetter使って移動 みたいな感じですか。これは時差?が無いので描画メソッドもスッキリしそうです。 ですが、 まずキー入力→その結果インスタンス化→そして描画 という流れにしたい場合の描画メソッドはどのように書けばいいのですかね。 例えば、 ArrayList<Teki> tekiArray = new ArrayList<Teki>(); を用意しておき、キー入力を受けて tekiArray.add(new Teki(...)); な設計での描画をどうするかということです。 if(tekiArray.size() != 0) { for(int i=0; i<tekiArray.size(); i++) { tekiArray.get(i).draw(g); } } みたいなことも考えましたが、うーん・・・ http://mevius.5ch.net/test/read.cgi/gamedev/1356591858/135
199: 名前は開発中のものです。 [sage] 2013/03/27(水) 19:51:56.53 ID:4U1a8RUn マップが1000万x1000万だとして、それを1万x1万エリアに分割すると、1エリアの大きさは1000x1000になる。 それでプレイヤーがいる1エリア内(1000x1000)だけを更新するとすれば次のような形になるはず。 class GameMap { Area[][] area2D = ...; } class Area { final Point index;// (GameMap.area2D[index.x][index.y] == this) List<Enemy> enemyList; // エリア内にいるモンスター List<Item> itemList; // エリア内にいるアイテム } Player { Area area = GameMap.area2D[0][0]; } class GameScene { void onUpdate(){ Player player = ApplicationScope.getPlayer(); Area area = player.area; // プレイヤーのいるエリアを更新する for(Enemy e : area.enemyList){ ... } // 例えばプレイヤーがエリア内で西側にいる場合、プレイヤーのいるエリアからひとつ西側にあるエリアも更新する if(...) { Area west = GameMap.area2D[area.index.x-1][area.index.y]; for(Enemy e : west.enemyList){ ... } } } } http://mevius.5ch.net/test/read.cgi/gamedev/1356591858/199
258: 名前は開発中のものです。 [sage] 2013/12/26(木) 20:18:57.03 ID:yA5nEDHu >>250 Slickってまだサポートされてる感じですか? >>254見て思ったんだけど、Javaでゲームパッド入力取りたいときって Slickみたいなの使うのがラクかな? >>257 AWTわからないんだけど、GUI使わずにJava2Dで描画するだけなら AWTもSwingも一緒なんですかね? あと、J「avaFXならJava2Dと違って描画にネイティブな機能使ってる」ってどこかで見たんだけど Java2DのGraphicsクラスなんかもネイティブの機能使ってるんだよね? http://mevius.5ch.net/test/read.cgi/gamedev/1356591858/258
299: 名前は開発中のものです。 [sage] 2014/02/16(日) 14:14:02.89 ID:alwCO1iA ゲーム作るときによく思うんだが、Javaは行列とかベクトルを標準ライブラリでサポートしてもいいんじゃないか? 自前で実装するとjavaコードでループ回して計算させることになるけど、 標準ライブラリに入っていれば、そこはベクトル化してSSEを使うとかの小細工が出来るだろうし。 http://mevius.5ch.net/test/read.cgi/gamedev/1356591858/299
348: 名前は開発中のものです。 [sage] 2014/11/21(金) 18:48:41.65 ID:/Uy/obEw javaでゲーム作ろうと思ってようやく一通り動くようなものができた。 といってもクリックで指定した座標に向かってキャラが歩き、接触した物体に自動的に攻撃して破壊するだけのものだが。 さて、これをオンラインにしてマルチプレイに対応しようとしたが、全く実現できずに3ヶ月。 javaは通信周りは強いと聞いていたし、楽に実装できるかと思っていたが、基本中の基本部分が全然動かない。 ・非同期通信を実現しなくてはならないが、サンプルを見ながらjava.nioパッケのセレクタ、selectNowを使っているのに数回ループ後に何故かブロックされる。 ・マルチキャストをしなくてはならないが、SeverSocketChannelから取得したSocketChannelをリストに保持してクライアント送信時にループで送信しているが、受信しない。 ・ゲームではUDP通信が基本らしいが、画像やDBデータ、インスタンス、文字列ですら正常に送受信できない。 ・TCPでも試したが、通信処理のスレッドループでよく判らなくなってきて、どこにメインループの処理を書いたらいいのかわからない。 段々めちゃくちゃになってきたので、非同期通信、マルチキャスト、インスタンスの送受信なんかをカバーしたフレームワークがないか、 どうせならマルチプレイオンライン対応のフレームワークがないかと探しているが見つからず。 何か情報をください。できればオープンソースで日本語の情報があるものを http://mevius.5ch.net/test/read.cgi/gamedev/1356591858/348
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.025s