将表面区域从一个圆圈添加到另一个圆圈

时间:2014-10-26 11:45:07

标签: java graphics 2d

所以我正在开发一个小型游戏,其中有一堆随机圈子在移动,你自己控制一个圈子。如果圆与另一个圆相交,则较大的圆应该吸收较小的圆。

到目前为止,我的方法非常糟糕,因为它只是在相交时才会生长出更大的圆圈。这会导致不切实际的尺寸变化,具体取决于它们相交的时间长短。 播放器敌人是矩形。

if(intersecting(player, enemy)){
        if(player.width > enemy.width) {
            player.width += 1; //increase size
            player.height += 1;
            player_posx -= 0.5; // compensate that circle increases to bottom right
            player_posy -= 0.5;
        } else if (player.width < enemy.width) {
            player.width -= 1; //decrease size
            player.height -= 1;
            player += 0.5;
            player += 0.5;
        }
    }

相反,我想准确地将一个圆圈的区域添加到另一个圆圈。我的问题是玩家和敌人的班级不断更新,我无法计算两个交叉圆之间的区域差异,因为它们在相交时会不断改变它们的大小。

0 个答案:

没有答案