Javaで作るスタンドアローンゲーム

■ このスレッドは過去ログ倉庫に格納されています
1名前は開発中のものです。
垢版 |
2012/12/27(木) 16:04:18.62ID:rl+qGRHn
スレタイはアプレットとの対比的な意味と考えてください。
Javaでのゲーム開発は賛否ありますが、国外では割と盛んになってきているように思います。
裏を返せば日本語だけでは情報が得辛い状況であり、寂しく開発してる人が多いのでは・・・。

関連スレ
JAVAアプリでゲーム
http://toro.2ch.net/test/read.cgi/gamedev/1033926010/


参考になりそうなサイト
・どのイメージタイプを使うべき?
http://weblogs.java.net/blog/chet/archive/2004/08/toolkitbuffered.html
・弱点と言われる?ベクタグラフィックス関連の改善
http://docs.oracle.com/javase/1.5.0/docs/guide/2d/flags.html
・大量のソースコードを公開して下さっている国内サイト
http://aidiary.hatenablog.com/entry/20040918/1251373370
・Java 2D games tutorial
http://zetcode.com/tutorials/javagamestutorial/
・出入りが最も盛んな?フォーラム
http://www.java-gaming.org/index.php
・スプライトシートの切り方等(国内)
http://sky.geocities.jp/kmaedam/java2/java2.htm

動画
3D Game Programming tutorial
http://www.youtube.com/watch?v=iH1xpfOBN6M
2013/01/17(木) 22:57:41.07ID:3HVRASXD
>>80
ブロックは奇数行・列に配置させてるので単純に、if(マス目%2 != 0)みたいな感じでやってます。
自分がやってる方法はいつもこんな感じです。

public int x, y; // プレイヤーの左上の点
private static final int S = 32; // プレイヤーの縦と横のサイズ

/**
* 判定点を返す。
* @return プレイヤーの判定点の座標
*/
private Point getPoint() {
return new Point(x+S/2, y+S/2);
}

移動の際int directionに方角を代入しているので後は
・動けるか否かのbooleanを返すメソッド if(direction==RIGHT && (getPoint.y)/S%2 != 0) (右へ移動するとき、奇数行であれば動けないの意味でfalseを返すみたいな。)
・修正が必要な領域に入ったか否かのbooleanを返すメソッド
・修正するメソッド
みたいな感じに細かく定義していってます。

ただ、if(マス目%2 != 0)のように定義しちゃうと、

プレイヤー:□、 ブロック:■とする
 □
 ↓
■  ■
のように、少し左によった状態だけど判定的にはokなとき

■□ ■
のようになって、ここで右側にいけない(右の壁まで数ピクセル進めない)のって気持ち悪いと思うのです
こういう時だけ場合分けするにしても煩雑になってきますし、そもそもの当たり判定の方法がよくないのかなと思いまして質問しました。
2013/01/18(金) 00:06:12.20ID:cE8dsg28
>>82
仕様に合わせた最適な判定は知らんが(仕様が分からないし)
普通は中心じゃなく四隅を判定する
右移動中なら右上、右下だけとかの省略はできるが
で、四隅をプレイヤーサイズじゃなく判定サイズにする

ブロックがこんな感じに敷き詰められてると思っての回答になるが
■ ■ ■

■ ■ ■

■ ■ ■

奇数行だから横に動けないとするんじゃなく
奇数行で右に移動中なら右側の判定x座標も奇数目になったら
めりこんだ座標分戻すってやる

斜め移動ならブロックのどの面に先に当たったかも必要になる
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況