- 14 名前:デフォルトの名無しさん [2009/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ページにコードと解説が載っています。 books.google.com/books?id=rSs35Uw11okC&printsec=frontcover&dq=java+game
|

|