1
我正在用Java製作平鋪(平鋪尺寸爲16px)級別的滾動遊戲。 現在我正在處理照明系統。 我計算出的光的梯度(如所示的畫面),此代碼爲每個光(黃色塊和磚):阻擋平鋪水平上的光
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
圖片:click