⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 class_camera.java

📁 05年游戏学院一个学生写的项目
💻 JAVA
字号:
public class Class_Camera
{
	//目标位置
	static short x0,y0;
	//当前位置
	static short x,y;
	//拍摄范围
	static short width=176,height=208;
	public Class_Camera()
	{
		
	}
	
	
	//处理屏幕跟随坦克的方法
	public static void setFollow(Class_Tank ct)
	{
		if(ct.getRefPixelX()<width/2)
			x0=0;
		else if(ct.getRefPixelX()>Class_Map.width-width/2)
			x0=(short) (Class_Map.width-width);
		else
			x0=(short) (ct.getRefPixelX()-width/2);
		
		if(ct.getRefPixelY()<height/2)
			y0=0;
		else if(ct.getRefPixelY()>Class_Map.height-height/2)
			y0=(short) (Class_Map.height-height);
		else
			y0=(short) (ct.getRefPixelY()-height/2);
	}
	
	//处理屏幕跟随子弹的方法
	public static void setFollow(Class_Bullet cb)
	{
		if(cb.getRefPixelX()<width/2)
			x0=0;
		else if(cb.getRefPixelX()>Class_Map.width-width/2)
			x0=(short) (Class_Map.width-width);
		else
			x0=(short) (cb.getRefPixelX()-width/2);
		
		
		if(cb.getRefPixelY()<=y0+height/4)
		{
			if(cb.getRefPixelY()<=height/4)
				y0=0;
			else
				y0=(short) (cb.getRefPixelY()-height/4);
		}
		if(cb.getRefPixelY()>=y0+3*height/4)
		{
			if(cb.getRefPixelY()>=Class_Map.height-height/4)
				y0=(short) (Class_Map.height-height);
			else
				y0=(short) (cb.getRefPixelY()-3*height/4);
		}
	}
	
	//判断对象是否处于屏幕中的方法
	public static boolean isShow(Class_GameObject go)
	{
		if(go.getX()>=x-go.getWidth()&&go.getX()<=x+width&&go.getY()>=y-go.getHeight()&&go.getY()<=y+height)
			return true;
		else return false;
	}
	
	//重置摄象机的方法
	public static void rePut()
	{
		if(x>x0)
		{
			x-=10;
			if(x<x0+10)
				x=x0;
		}else if(x<x0)
		{
			x+=10;
			if(x>x0-10)
				x=x0;
		}
		if(y>y0)
		{
			y-=10;
			if(y<y0+10)
				y=y0;
		}else if(y<y0)
		{
			y+=10;
			if(y>y0-10)
				y=y0;
		}
	}
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -