📄 camera.java
字号:
public abstract class Camera{
public static final int SAVEDISX = PandaCanvas.SCREENW/3,SAVEDISY = PandaCanvas.SCREENH/3;
public static int x,y,width,height;
// 初始化镜头,使它对准参数中的对象
public static final void init(Panda panda){
if(panda.x <= SAVEDISX)
x = 0;
else if(panda.x - x <= SAVEDISX)
x = panda.x - SAVEDISX;
else if(panda.x >= PandaCanvas.mapW - SAVEDISX - panda.width)
x = PandaCanvas.mapW - PandaCanvas.SCREENW;
else if(panda.x - x >= PandaCanvas.SCREENW-SAVEDISX - panda.width)
x = panda.x + panda.width + SAVEDISX - PandaCanvas.SCREENW;
if(panda.y <= SAVEDISY)
y = 0;
else if(panda.y - y <= SAVEDISY)
y = panda.y - SAVEDISY;
else if(panda.y >= PandaCanvas.mapH - SAVEDISY - panda.height)
y = PandaCanvas.mapH - PandaCanvas.SCREENH;
else if(panda.y - y >= PandaCanvas.SCREENH-SAVEDISY - panda.height)
y = panda.y + panda.height + SAVEDISY - PandaCanvas.SCREENH;
}
// 跟随镜头
public static final void setFollow(Panda panda){
if(PandaCanvas.mapH <= height)
y = 0;
else if(panda.speedY < 0){
if(panda.y <= SAVEDISY)
y = 0;
else if(panda.y - y <= SAVEDISY)
y = panda.y - SAVEDISY;
}else if(panda.speedY > 0){
if(panda.y >= PandaCanvas.mapH - SAVEDISY - panda.height)
y = PandaCanvas.mapH - PandaCanvas.SCREENH;
else if(panda.y - y >= PandaCanvas.SCREENH-SAVEDISY - panda.height)
y = panda.y + panda.height + SAVEDISY - PandaCanvas.SCREENH;
}
if(PandaCanvas.mapW <= width)
x = 0;
else if(panda.speedX < 0){
if(panda.x <= SAVEDISX)
x = 0;
else if(panda.x - x <= SAVEDISX)
x = panda.x - SAVEDISX;
}else if(panda.speedX > 0){
if(panda.x >= PandaCanvas.mapW - SAVEDISX - panda.width)
x = PandaCanvas.mapW - PandaCanvas.SCREENW;
else if(panda.x - x >= PandaCanvas.SCREENW-SAVEDISX - panda.width)
x = panda.x + panda.width + SAVEDISX - PandaCanvas.SCREENW;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -