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

📄 class_bullet.java

📁 05年游戏学院一个学生写的项目
💻 JAVA
字号:
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.LayerManager;
// Download by http://www.codefans.net
public class Class_Bullet extends Class_GameObject
{
	MIDlet_Main mainMIDlet;
	//初始坐标
	short createX,createY;
	//初始角度
	short createAngle;
	//初始速度
	short createV;
	//飞行时间
	short flyTime;
	short damage;
	
	public Class_Bullet(Image img,byte width, byte height) 
	{
		super(img, width, height);
	}
	
	
	public void setMove(Class_Tank ct,LayerManager lm)
	{
		if(isVisible())
		{
			//飞行时间开始记数
			flyTime++;
			short refPixelX,refPixelY;
			//根据坦克朝向、初始坐标、初始速度、初始角度、飞行时间来计算子弹坐标
			if(!ct.isTowardsRight)
			{
				refPixelX=(short) (createX+((-1)*createV*flyTime*cos[createAngle/3]/100000));
				refPixelY=(short) (createY+((-1)*createV*flyTime*sin[createAngle/3]/100000+35*flyTime*flyTime/100));
			}else
			{
				refPixelX=(short) (createX+(createV*flyTime*cos[createAngle/3]/100000));
				refPixelY=(short) (createY+((-1)*createV*flyTime*sin[createAngle/3]/100000+35*flyTime*flyTime/100));
			}
			setRefPixelPosition(refPixelX,refPixelY);
			
			//如果子弹超出地图范围(上界除外),则删除子弹,并结束该回合
			if(getX()<-getWidth()||getX()>Class_Map.width||getY()>Class_Map.height)
			{
				delete(lm);
				Canvas_Main.isTurnChange=true;
			}
			System.gc();
		}
	}
	
	//回合初始化,用于保证下列参数每次进入回合后不受上一回合的影响
	public void turnInit(Class_Tank ct)
	{
		flyTime=0;
		createAngle=(short) ct.aimAngle;
		createV=(short) ct.chargeV;
		
		if(!ct.isTowardsRight)
		{
			createX=(short) ct.getX();
			createY=(short) ct.getY();
		}else
		{
			createX=(short) (ct.getX()+ct.getWidth());
			createY=(short) ct.getY();
		}
	}
	
	
}

⌨️ 快捷键说明

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