可能性の重複:
Java 2D Collision?のJava 2Dの衝突
やあみんな、私は私は私はこのに関するいくつかの新鮮な答えを得る試してみようと思いましただけで死んでしまったこのに関する別のポストを持っています。
私は衝突検出機能を働かせようとしています。私の衝突の検出は、私が地図ブロックの上に来るときにうまく動作します。上または下を押さえつけるだけで上または下からブロックを叩くだけです。しかし、私は右または左を保持したり、上または下からブロックを当てると面白い方向に進むでしょう。
私の小さなビデオ(明白でない場合は申し訳ありません):http://www.youtube.com/watch?v=6ILccRtw8MEこれはうまくいけば助かります。
あなたはここでビデオを見ていなかった場合は、マップの私が使用するの絵です:
public void checkCollision() {
Rectangle player_rectangle = new Rectangle(player.getX(),player.getY(),32,32);
for(Wall wall : walls) {
Rectangle wall_rectangle = new Rectangle(wall.getX(), wall.getY(), 32,32);
if (player_rectangle.intersects(wall_rectangle)) {
Rectangle intersection = (Rectangle) player_rectangle.createIntersection(wall_rectangle);
if (player.xspeed < 0 && player.x >= intersection.x) {
player.x += intersection.getWidth();
} else {
if (player.xspeed > 0 && player.x <= intersection.x) {
player.x -= intersection.getWidth();
} else {
if (player.yspeed < 0 && player.y >= intersection.y) {
player.y += intersection.getHeight();
}else {
if (player.yspeed > 0 && player.y <= intersection.y) {
player.y -= intersection.getHeight();
}
}
}
}
Print(Integer.toString(intersection.width) + ", " + Integer.toString(intersection.height));
}
}
}
すべての助けになります。
をここでは私の現在の衝突コードがありますありがとう、ありがとう。
それはあなたがあなたの[古いポスト]に尋ねた同じ質問ではないです(http://stackoverflow.com/questions/7763244/java-2d-collision)?はいの場合は、最後の質問に対して賞金を編集または開始し、再投稿しないでください。そうでない場合は、問題の詳細を説明してください。 – amit
+1面白い動画です。ブロックワーピングftw。 –
@ThomasJungblutおかしいとはどういう意味ですか? :L –