一个js游戏引擎,没完成呢还,自己写的
2011-09-10 09:16
731 查看
我想说的是我写的真是太差劲了
感觉js还必须不断加强才行,加油
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还必须不断加强才行,加油
相关文章推荐
- 一个JS的RPG引擎,备忘,准备写个html5的动作游戏
- 写一个自己的游戏引擎
- Cocos2d-X游戏【泰然网《跑酷》】JS到C++移植2:如何新建一个项目,引擎目录结构介绍
- 说说如何用js实现一个模板引擎
- 自己使用js/jquery写的一个定制对话框控件
- 在WEB开发中的一个小细节问题==主要是自己调试的时候,诸如javascript(js)不起作用
- 一个游戏引擎所应具有的元素
- 自己动手实现一个《倒水解密》游戏
- 分享一个自己写的table表格排序js插件(高效简洁)
- 【推荐】一个强大的html5游戏引擎 pixi
- 自己实现一个js框架(二)
- HTML5+JS 《五子飞》游戏实现(四)夹一个和挑一对
- 发一个自己用JS写的实用看图工具
- 从零开始,使用Cocos2d HTML5完成一个游戏——第一步
- 一个土豪玩家养十个免费玩家陪自己玩 免费游戏的关键在一个“诱”字,核心在一个“贱”字,本质是一个“骗”字
- 一个独立游戏人的创业自白:最大的敌人是自己
- 仿照jquery封装一个自己的js库(一)
- 自己实现一个bubble_sort(冒泡排序),可以完成不同类型数据的排序
- 自己做工具--用原生js封装一个AJAX插件
- 如何用Cocos2d-JS快速开发一个微信游戏《来自喵星的你》