在游戏中通常不可能允许一幅场景贯穿始终,这就提出了场景变更的要求,基于这一要求的实现,我们将进行如下效果的Java代码实现。
或另存以下X(gif)文件为rar
由于代码量已开始增加,由本回开始仅给出部分代码实现,详细请进行下载:
在本例中,本人采取的位图偏移算法如下:
MyPanle中实现如下:
// X偏移位置
int offsetX = MyPanel.WIDTH / 2 - role.getX() * CS;
//计算X偏移量
offsetX = Math.min(offsetX, 0);
offsetX = Math.max(offsetX, MyPanel.WIDTH - GameMap.WIDTH);
// Y偏移位置
int offsetY = MyPanel.HEIGHT / 2 - role.getY() * CS;
//计算Y偏移量
offsetY = Math.min(offsetY, 0);