现在的位置: 首页 > 综合 > 正文

一个js游戏引擎,没完成呢还,自己写的

2018年05月11日 ⁄ 综合 ⁄ 共 7965字 ⁄ 字号 评论关闭

我想说的是我写的真是太差劲了

var onkeydown = function(e){
	
	//alert(two);
	//two.flag = 1;
	//alert('sdfsf');
	var tempobj = two;

	var code = e.keyCode;

	//alert(code);
	if(code == K_W){
	
	
	
	}else if(code == K_S){
	
	
	}else if(code == K_A){
	
		tempobj.flag = 2;
	}else if(code == K_D){
	
		//tow.run();
		//alert('fun');
		tempobj.flag =1;
		//alert(two);

	}else if(code ==K_J){
	
		//two.stand();
		tempobj.flag = 3;
	}else if(code == K_SPACE){
	
		tempobj.flag =4;
	}

}






var playerTwo = function(){


		this.currentImage = new Image();
	//	this.currentImage.src = "./src/new/d1.png";
		this.loc_x = 0;
		this.loc_y = 370;
		this.stand_src = new Array(4);
		this.fight_src = new Array(24);
		this.run_src = new Array(6);
		this.hit_src = new Array(4);
		this.flag = 0;
		this.map = Image();


		this.drawMap = function(){
	
			map.src = "./2011/9/9src/new/map/map.png"
			var temp = 500/95;
			
			var canvas = document.getElementById('main');
			var ctx = canvas.getContext('2d');
	
			//for(var i=0;i<temp;i++){
		
			//ctx.save();
			//ctx.clearRect(0,0,canvas.width,canvas.height);
		//	ctx.drawImage(this.map,0,32,95,34,i*95,300,95,34);
		//	alert('ss');
		//}
	}
		//载入所需要的图像

		this.jump =function(){
		
				this.run();



				if(this.loc_y == 400){
				
					this.loc_y -= 20;
				}else if(this.loc_y == 380){
				
					this.loc_y -= 20;
				}else if(this.loc_y == 360){
				
					this.loc_y -=20;
				}else if(this.loc_y == 340){
				
					this.loc_y -= 20;
				}else if(this.loc_y == 320){
					this.loc_y-= 20;
				}else {
				
					this.loc_y = 400;
				}
		
		
		}

		this.loadImage = function(){
		
			for(var i= 0 ;i<4;i++){
			
					var src = "./src/new/d"
					var t = i+1;
					src += t;
					src+=".png";
					this.stand_src[i] = src;
				//	alert(src);
			}
			for(var i=0;i<24;i++){
			
				var src = "./src/new/f";
				var t = i+1;
				src += t;
				src +=".png";
				this.fight_src[i] = src;
			}
		
			for(var i=0;i<6;i++){
			
				var src = "./src/new/r";
				var t = i+1;
				src += t;
				src+=".png";
				this.run_src[i] = src;
			//	alert(src);
			}
			for(var i=0;i<4;i++){
			
				var src = "./src/new/r";
				var t = i+1;
				src+=t;
				src+=".png";
				this.hit_src[i] = src;
			}

		
		}

		this.run = function(){
		
			this.currentImage.src = this.run_src[0];
		}

		this.drawRun =function(){
		
			

			var image = new Image();

				if(this.currentImage.src == "file:///F:/html5/newgame/src/new/r1.png"){
			
				
				image.src = this.run_src[1];
				
				this.currentImage = image;

				if(this.flag ==1){
					this.loc_x+=10;
				}else if(this.flag ==2){
					this.loc_x-=10;
				}

			//	alert(this.currentImage.src);

			}else if(this.currentImage.src == "file:///F:/html5/newgame/src/new/r2.png"){

					
				image.src = this.run_src[2];	
				this.currentImage = image;
					if(this.flag ==1){
					this.loc_x+=10;
				}else if(this.flag ==2){
					this.loc_x-=10;
				}
				//alert(this.currentImage.src);
			}else if(this.currentImage.src =="file:///F:/html5/newgame/src/new/r3.png"){

					
				image.src = this.run_src[3];
					this.currentImage = image;
						if(this.flag ==1){
					this.loc_x+=10;
				}else if(this.flag ==2){
					this.loc_x-=10;
				}
				//	alert(image.src);
				//	alert(this.currentImage.src);
			}else if(this.currentImage.src == "file:///F:/html5/newgame/src/new/r4.png"){
					
			image.src = this.run_src[4];	
			this.currentImage = image;
				if(this.flag ==1){
					this.loc_x+=10;
				}else if(this.flag ==2){
					this.loc_x-=10;
				}
				//alert(this.currentImage.src);
			}else if(this.currentImage.src == "file:///F:/html5/newgame/src/new/r5.png"){
			
				image.src = this.run_src[5];	
				this.currentImage = image;
					if(this.flag ==1){
					this.loc_x+=10;
				}else if(this.flag ==2){
					this.loc_x-=10;
				}
					
			}else {
			
				image.src = this.run_src[0];	
				this.currentImage = image;
			
			}

		
		}

		this.drawStand = function(){
		
			var image = Image();
		//	this.loadImage();
	//	alert('sdf');
			if(this.currentImage.src == "file:///F:/html5/newgame/src/new/d1.png"){
			
				
				image.src = this.stand_src[1];
				
				this.currentImage = image;
				

			//	alert(this.currentImage.src);

			}else if(this.currentImage.src == "file:///F:/html5/newgame/src/new/d2.png"){

					
				image.src = this.stand_src[2];	
				this.currentImage = image;
			
				//alert(this.currentImage.src);
			}else if(this.currentImage.src =="file:///F:/html5/newgame/src/new/d3.png"){

					
				image.src = this.stand_src[3];
					this.currentImage = image;
				
				//	alert(image.src);
				//	alert(this.currentImage.src);
			}else if(this.currentImage.src == "file:///F:/html5/newgame/src/new/d4.png"){
					
			image.src = this.stand_src[0];	
			this.currentImage = image;
		
				//alert(this.currentImage.src);
			}else {
			
				
					image.src = this.stand_src[0];
					this.currentImage = image;
				
				//	alert(this.currentImage.src);
			}
		}





		this.fight = function(){
		
			this.currentImage.src = "./new/f1.png";
		}

		
		this.drawFight = function(){
		
			var image = new Image();
			
			if(this.currentImage.src == "file:///F:/html5/newgame/src/new/f1.png"){
			
				
				image.src = this.fight_src[1];
				
				this.currentImage = image;
			

			//	alert(this.currentImage.src);

			}else if(this.currentImage.src == "file:///F:/html5/newgame/src/new/f2.png"){

					
				image.src = this.fight_src[2];	
				this.currentImage = image;
				//alert(image.src)
				
				//alert(this.currentImage.src);
			}else if(this.currentImage.src =="file:///F:/html5/newgame/src/new/f3.png"){

					
				image.src = this.fight_src[3];
					this.currentImage = image;
				
				//	alert(image.src);
				//	alert(this.currentImage.src);
			}else if(this.currentImage.src == "file:///F:/html5/newgame/src/new/f4.png"){
					
			image.src = this.fight_src[4];	
			this.currentImage = image;
	
				//alert(this.currentImage.src);
			}else if(this.currentImage.src == "file:///F:/html5/newgame/src/new/f5.png"){
			
				image.src = this.fight_src[5];	
				this.currentImage = image;
				
					
			}else if(this.currentImage.src == "file:///F:/html5/newgame/src/new/f6.png"){
			
				image.src = this.fight_src[6];	
				this.currentImage = image;
				
					
			}else if(this.currentImage.src == "file:///F:/html5/newgame/src/new/f7.png"){
			
				image.src = this.fight_src[7];	
				this.currentImage = image;
				
					
			}else if(this.currentImage.src == "file:///F:/html5/newgame/src/new/f8.png"){
			
				image.src = this.fight_src[8];	
				this.currentImage = image;
				
					
			}else if(this.currentImage.src == "file:///F:/html5/newgame/src/new/f9.png"){
			
				image.src = this.fight_src[9];	
				this.currentImage = image;
				
					
			}else if(this.currentImage.src == "file:///F:/html5/newgame/src/new/f10.png"){
			
				image.src = this.fight_src[10];	
				this.currentImage = image;
				
					
			}else if(this.currentImage.src == "file:///F:/html5/newgame/src/new/f11.png"){
			
				image.src = this.fight_src[11];	
				this.currentImage = image;
				
					
			}else if(this.currentImage.src == "file:///F:/html5/newgame/src/new/f12.png"){
			
				image.src = this.fight_src[12];	
				this.currentImage = image;
				
					
			}else if(this.currentImage.src == "file:///F:/html5/newgame/src/new/f13.png"){
			
				image.src = this.fight_src[13];	
				this.currentImage = image;
				
					
			}else if(this.currentImage.src == "file:///F:/html5/newgame/src/new/f14.png"){
			
				image.src = this.fight_src[14];	
				this.currentImage = image;
				
					
			}else if(this.currentImage.src == "file:///F:/html5/newgame/src/new/f15.png"){
			
				image.src = this.fight_src[15];	
				this.currentImage = image;
				
					
			}else if(this.currentImage.src == "file:///F:/html5/newgame/src/new/f16.png"){
			
				image.src = this.fight_src[16];	
				this.currentImage = image;
				
					
			}else if(this.currentImage.src == "file:///F:/html5/newgame/src/new/f17.png"){
			
				image.src = this.fight_src[17];	
				this.currentImage = image;
				
					
			}else if(this.currentImage.src == "file:///F:/html5/newgame/src/new/f18.png"){
			
				image.src = this.fight_src[18];	
				this.currentImage = image;
				
					
			}else if(this.currentImage.src == "file:///F:/html5/newgame/src/new/f19.png"){
			
				image.src = this.fight_src[19];	
				this.currentImage = image;
				
					
			}else if(this.currentImage.src == "file:///F:/html5/newgame/src/new/f20.png"){
			
				image.src = this.fight_src[20];	
				this.currentImage = image;
				
					
			}else if(this.currentImage.src == "file:///F:/html5/newgame/src/new/f21.png"){
			
				image.src = this.fight_src[21];	
				this.currentImage = image;
				
					
			}else if(this.currentImage.src == "file:///F:/html5/newgame/src/new/f22.png"){
			
				image.src = this.fight_src[22];	
				this.currentImage = image;
				
					
			}else if(this.currentImage.src == "file:///F:/html5/newgame/src/new/f23.png"){
			
				image.src = this.fight_src[0];	
				this.currentImage = image;
				
					
			}else {
			
				image.src = this.fight_src[0];	
				this.currentImage = image;
				
					
			}
		
		
		}


		this.playerInit = function(){
		
		
			this.loadImage();
			//this.
		
		}

		this.stand = function(){
		
			this.currentImage.src = this.stand_src[0];
			
		}


		this.drawAction = function(){
		
			if(this.flag ==1){
			
				this.drawRun();

			}else if(this.flag ==2){
				
				this.drawRun();

			}else if (this.flag ==3){
			
				this.drawFight();

			}else if(this.flag ==4){
			
				this.jump();
			}else if(this.flag == 0) {
			
				this.drawStand();
			}

		
		}


			this.init = function(){
			
				this.loadImage();
			}
			this.drawPlayer = function(){
			
				///	alert('sdf');
					this.drawAction();
					var canvas  = document.getElementById("main");
					var ctx = canvas.getContext('2d');
					//ctx.save();
					ctx.clearRect(0,0,canvas.width,canvas.height);
					if(this.flag == 3){
					
						ctx.drawImage(this.currentImage,167,172,64,98,this.loc_x,this.loc_y,64,98);

					}else if(this.flag ==4){
					
						

					}else {

						ctx.drawImage(this.currentImage,this.loc_x,this.loc_y);
					}
					//alert(this.currentImage.src);
					//this.currentImage.src = 'd2.png';
					//alert(this.fight_src);
					this.flag = 0;
			}

}

		

		




//alert(one);
var two = new playerTwo();
var m = new map();

//two.flag =1;
//alert(two);
function main(){
	//two.run();
	//two.fight();

	
	two.init();
	setInterval(function(){
		two.drawMap();
		two.drawPlayer();},50);
}
	

感觉js还必须不断加强才行,加油

抱歉!评论已关闭.