★★ Java の宿題ここで答えます Part 68 ★★at TECH
★★ Java の宿題ここで答えます Part 68 ★★ - 暇つぶし2ch14:デフォルトの名無しさん
09/07/20 23:07:26
>>13
public Point getTileCollision(Sprite sprite, double newX, double newY) {
newX = Math.ceil(newX);
newY = Math.ceil(newY);
double fromX = Math.min(sprite.getX(), newX);
double fromY = Math.min(sprite.getY(), newY);
double toX = Math.max(sprite.getX(), newX);
double toY = Math.max(sprite.getY(), newY);
int fromTileX = pixelsToTiles(fromX);
int fromTileY = pixelsToTiles(fromY);
int toTileX = pixelsToTiles(toX + sprite.getWidth() -1);
int toTileY = pixelsToTiles(toY + sprite.getHeight() -1);
for(int x=fromTileX;x<=toTileX;x++) {
for(int y=fromTileY;y<=toTileY;y++) {
//Outside the boundary
if(x<0 || x>=col) {
return new Point(x,y);
}
if(y<0 || y>=row) {
return new Point(x,y);
}
if(map[y][x] == '1') {
return new Point(x,y);
}
}
}
return null;
}
これの252ページにコードと解説が載っています。
URLリンク(books.google.com)


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch