Java でタイル (タイル サイズは 16 ピクセル) レベルのスクロール ゲームを作成しています。今、私は照明システムを扱っています。各ライト (黄色のブロックとタイル) のこのコードを使用して、ライトのグラデーション (図に示すように) を計算しました。
visMap = new int[level.getWidth() * level.getHeight()];
int lighted = 0;
for (int x = 0; x < level.getWidth(); x++) {
for (int y = 0; y < level.getHeight(); y++) {
double xd = (this.x >> 4) - x;
double yd = (this.y >> 4) - y;
double distance = Math.sqrt(xd * xd + yd * yd);
double p = power * 1.0;
double bright = p - distance;
visMap[x + y * level.getWidth()] = (int) (bright * power);
}
}
そして今、私はブロックが何らかの形で光を遮断するようにしようとしています(実生活のように)。これには良い方法がありますか?よろしくお願いします、Zaplik
写真:クリック