无为清净楼资源网 Design By www.qnjia.com
本文实例讲述了JS小游戏的极速快跑源码,分享给大家供大家参考。具体如下:
游戏运行后如下图所示:
Javascript部分代码如下:
/** 极速快跑 * Author: fdipzone * Date: 2012-07-15 * Ver: 1.0 */ var gameimg = ['images/start.png', 'images/start_over.png', 'images/go.png', 'images/go_over.png', 'images/running.gif', 'images/run_start1.gif', 'images/run_start2.gif', 'images/run_start3.gif']; var speed_obj = new SpeedClass(); window.onload = function(){ var callback = function(){ speed_obj.init(); } img_preload(gameimg, callback); } // Speed Class function SpeedClass(){ this.levelset = [8,5,8,12]; // 难度参数 this.playerlist = null; // 选手列表 this.player = 0; // 选中的选手 this.level = 2; // 难度 this.lock = 0; // 锁定 this.isstart = 0; // 是否开始 this.isover = 0; // 是否结束 } // init SpeedClass.prototype.init = function(){ this.reset(); this.create_player(); this.create_event(); } // reset SpeedClass.prototype.reset = function(){ this.player = 0; this.level = $('level').value; // level this.playerlist = $_tag('li', 'playerlist'); for(var i=0; i<this.playerlist.length; i++){ this.playerlist[i].className = ''; } disp('start_btn', 'show', 'start_btn'); disp('go_btn', 'hide', 'go_btn'); this.lock = 0; // unlock this.isstart = 0; // unstart this.isover = 0; // unover } // create player SpeedClass.prototype.create_player = function(){ var runway = []; var playerlist = []; for(var i=1; i<=8; i++){ runway[i] = '<li><div id="player' + (9-i) + '" class="run_status1"></div></li>'; playerlist[i] = '<li>' + i + '</li>'; } $('runway').innerHTML = runway.join(''); $('playerlist').innerHTML = playerlist.join(''); runway = null; playerlist = null; } // create event SpeedClass.prototype.create_event = function(){ var self = this; this.playerlist = $_tag('li', 'playerlist'); for(var i=0; i<this.playerlist.length; i++){ this.playerlist[i].onmouseover = function(){ if(this.className!='on'){ this.className = 'over'; } } this.playerlist[i].onmouseout = function(){ if(this.className!='on'){ this.className = ''; } } this.playerlist[i].onclick = function(o,c){ return function(){ if(self.lock==0){ o.playerlist[c].className = 'on'; if(o.player!=0 && o.player!=c+1){ // 不等於0且不等於自己 o.playerlist[o.player-1].className = ''; } o.player = c + 1; } } }(self, i); } $('start_btn').onmouseover = function(){ this.className = 'start_over_btn'; } $('start_btn').onmouseout = function(){ this.className = 'start_btn'; } $('start_btn').onclick = function(){ if(self.player==0){ return alert('请选择要支持的选手'); }else{ self.lock = 1; // locked disp('start_btn','hide'); disp('go_btn','show'); for(var i=1; i<=8; i++){ self.start(i); } } } $('go_btn').onmouseover = function(){ this.className = 'go_over_btn'; } $('go_btn').onmouseout = function(){ this.className = 'go_btn'; } $('go_btn').onclick = function(){ self.go(); } } // start game SpeedClass.prototype.start = function(c){ var o = $('player' + c); var step = 1; var self = this; var exert = 0; o.style.marginLeft = '62px'; // init var et = setInterval(function(){ if(step<4){ // step 1-3 is ready o.className = 'run_status' + step; }else{ // run if(o.className!='running'){ o.className = 'running'; } // start can go if(self.isstart==0){ self.isstart = 1; } // 已有一名选手到达终点 if(self.isover==1){ clearInterval(et); }else{ if(self.player!=c){ // 其他选手 exert = Math.floor(Math.random()* self.levelset[self.level])+3; // 根据level调整 } o.style.marginLeft = parseInt(o.style.marginLeft) + Math.floor(Math.random()*8)+4 + exert + 'px'; // 到达终点 if(parseInt(o.style.marginLeft)>=745){ clearInterval(et); self.isover = 1; self.gameover(o.id); } } } step ++; }, 350) } // go SpeedClass.prototype.go = function(){ if(this.isstart==1 && this.isover==0){ var o = $('player' + this.player); var exert = Math.floor(Math.random()*3)+2; // 2-5 o.style.marginLeft = parseInt(o.style.marginLeft) + exert + 'px'; } return false; } // gameover SpeedClass.prototype.gameover = function(id){ id = id.replace('player',''); var self = this; var msg = ''; if(id==this.player){ msg = "恭喜你,你支持的选手获得胜利\n\n"; }else{ msg = "很遗憾,你支持的选手没有获得胜利,获胜的是" + id + "号选\n\n"; } if(confirm(msg + '是否重新开始"_blank" href="http://xiazai.jb51.net/201409/yuanma/js-fast-run-game-codes(jb51.net).rar">本站下载。相信本文所述对大家的javascript游戏设计有一定的借鉴价值。
标签:
JS,小游戏,极速快跑,源码
无为清净楼资源网 Design By www.qnjia.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
无为清净楼资源网 Design By www.qnjia.com
暂无评论...
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
2024年11月19日
2024年11月19日
- 好薇2024《兵哥哥》1:124K黄金母盘[WAV+CUE]
- 胡歌.2006-珍惜(EP)【步升大风】【FLAC分轨】
- 洪荣宏.2014-拼乎自己看【华特】【WAV+CUE】
- 伊能静.1999-从脆弱到勇敢1987-1996精选2CD【华纳】【WAV+CUE】
- 刘亮鹭《汽车DJ玩主》[WAV+CUE][1.1G]
- 张杰《最接近天堂的地方》天娱传媒[WAV+CUE][1.1G]
- 群星《2022年度发烧天碟》无损黑胶碟 2CD[WAV+CUE][1.4G]
- 罗文1983-罗文甄妮-射雕英雄传(纯银AMCD)[WAV+CUE]
- 群星《亚洲故事香港纯弦》雨果UPMAGCD2024[低速原抓WAV+CUE]
- 群星《经典咏流传》限量1:1母盘直刻[低速原抓WAV+CUE]
- 庾澄庆1993《老实情歌》福茂唱片[WAV+CUE][1G]
- 许巍《在别处》美卡首版[WAV+CUE][1G]
- 林子祥《单手拍掌》华纳香港版[WAV+CUE][1G]
- 郑秀文.1997-我们的主题曲【华纳】【WAV+CUE】
- 群星.2001-生命因爱动听电影原创音乐AVCD【MEDIA】【WAV+CUE】