欢迎您来到网页代码站!
如果您关闭了浏览器的javascript,可能导致页面部分功能无法显示,请开启javascript以便正常浏览本网页。网页代码站()谢谢您的支持!
您的当前位置: >>
>> HTML5+JS打造的一个跑动小人(左右方向键控制)
HTML5+JS打造的一个跑动小人(左右方向键控制)
分类:&&&时间:&&&点击:&&&关键词:||||
&!DOCTYPE html&
&title&HTML5+JS打造的一个跑动小人(左右方向键控制)_网页代码站()&/title&
&div align=¢er&&
&canvas id=&demo& style=&border:1px solid #&&您的浏览器不支持canvas标签,推荐您更换谷歌游览器,全面兼容html5。&/canvas&
type=&text/javascript&&
var eventjs = {
//添加事件
bind: function(elem, type, handler){
if (elem.addEventListener) {
elem.addEventListener(type, handler, false);
} else if(elem.attachEvent){
elem.attachEvent(&on& + type, handler);
elem[&on& + type] =
//删除事件
unbind: function(elem, type ,handler){
if (elem.removeEventListener) {
elem.removeEventListener(type, handler, false);
} else if(elem.detachEvent){
elem.detachEvent(&on& + type, handler)
elem[&on& + type] =
//获取事件
getEvent: function(event){
return event ? event : window.
//获取事件目标
getTarget: function(event){
return event.target || event.srcE
//相关元素
relatedTarget: function(event){
if (event.relatedTarget) {
return event.relatedT
} else if (event.toElement){
return event.toE
} else if (event.formElement) {
return event.formE
//阻止默认行为
preventDefault: function(event){
if(event.preventDefault){
event.preventDefault();
event.returnValue =
//取消捕获/冒泡
cancelBubble: function(event){
if (event.stopPropagation) {
event.stopPropagation();
event.cancelBubble =
//获取鼠标按钮
getMouseButton: function(event){
if (document.implementation.hasFeature(&MouseEvents&, &2.0&)) {
return event.
switch (event.button){
//获取键盘code
getCharCode: function(event){
if (typeof event.charCode == &number&) {
console.log('char code');
return event.charC
return event.keyC
getDirection: function(event){
var keyCode = event.which || event.keyC
switch(keyCode){
case 269: //up
return 'up';
return 'down';
return 'left';
return 'right';
case 339: //exit
case 240: //back
return 'back';
&script type=&text/javascript&&
(function(){
var canvas = document.getElementById('demo');
var ctx = canvas.getContext('2d');
//player base
var playerImage = new Image();
playerImage.src = '/images//go.png';
var player = {
// 在canvas中的坐标
imageX: 0,
// 图像定位坐标
imageY: 0,
width: 50,
// 图像显示区域大小
height: 60,
stop: true
// 是否停止
function clean () {
// clear canvas
ctx.clearRect(0, 0, canvas.width, canvas.height);
function playerInit () {
// init player
playerImage.onload = _drawP
function playerMove (value) {
if('right' === value){
// move right
if (player.stop) {
player.imageX += 50;
player.imageX = 0;
if (player.imageX &= 150) {
player.imageX = 0;
// player move speed
player.x += 5;
player.imageY = 0;
} else if ('left' === value){
// move left
if (player.stop) {
player.imageX += 50;
player.imageX = 0;
if (player.imageX &= 150) {
player.imageX = 0;
// player move speed
player.x -= 5;
player.imageY = 60;
_drawPlayer();
function playerJump (value) {
// player jump
function _drawPlayer () {
// draw player image
ctx.drawImage(playerImage, player.imageX, player.imageY, player.width, player.height, player.x, canvas.height - player.height, player.width, player.height);
function playerAction (value) {
var posX = 0;
var posY = 0;
// console.log(player.x);
switch(value){
case 'up':
playerJump();
case 'right':
posX = player.x + player.
if (posX &= canvas.width) {
//player.x += 5;
playerMove(value);
case 'down':
case 'left':
if (player.x & 5) {
//player.x -= 5;
playerMove(value);
// console.log(player.x);
return {x: player.x, y: player.y};
//init canvas
var init = (function(options){
options = options || {};
canvas.width = options.width || 500;
canvas.height = options.height || 300;
//init draw rect
playerInit();
//bind user event
eventjs.bind(document, 'keydown', function(event){
var d = eventjs.getDirection(event);
player.stop =
playerAction(d);
eventjs.bind(document, 'keyup', function(event){
var d = eventjs.getDirection(event);
player.stop =
playerAction(d);
})({width:800, height:400});
&footer&& 2012 &a target='_blank' href=& title='Lee‘s blog --李振昆的博客'&lee&/a&&/footer&
&p&&a href=&&&网页代码站&/a& - 最专业的网页代码下载网站 - 致力为中国站长提供有质量的网页代码!&/p&
HTML5跑动的小人,在网页游戏开发中会用到这些小技巧,一个类似超级玛莉一样的小人在左右方向键的控制下飞快奔跑。浏览器要求,Chrome、Safari、火狐、Opera等,由于目前IE8不支持canvas标签,所以看不到本效果。
一、如果您使用的浏览器版本为IE6.0、360浏览器V3.0.8.1版本或者IE的更低版本浏览本页面,建议您升级浏览器至IE7以上,上面的“运行”按钮可能不能用,但您可按以下方式查看。运行代码方式:1、点击“复制”按钮;2、在桌面建立一个txt文档;3、粘贴复制的代码;4、最后把txt的扩展名改为“htm”或“html”;5、完成,打开即可看到效果。二、如果您使用FireFox或者非IE浏览器,建议您使用IE7以上版本。上面的“复制”按钮失效,请您“全选”,以普通方式复制!三、某些代码因需加载完Jquery等之类比较大的JS文件,如果您看不到效果,请您刷新页面!四、某些代码不能完全兼容各浏览器,还请您再次修改才能使用!给您带来的不便!尽请谅解!谢谢您的支持!
Powered by (网页即"web" + 代码即"dm" + "cn" = ) | 最专业的代码下载网站 - 致力为中国站长提供高质量的代码!当前位置: &
共57个匹配的小游戏
相关标签词您所在的位置:&&
3D迷宫闯关
游戏地址已经复制,您可以粘贴(Ctrl+V)发送给好友
好玩!我要收藏
该游戏已添加到您的43399收藏夹
分享小游戏:
滑动星星打分
类型:|大小:348K|
语言:其他
小游戏评分:
小游戏人气:
小游戏简介:
在一个""的""里隐藏着非常多的敌人,你不但要面对""复杂的路线,不要让自己迷路,还要面对那么多敌人,你做好准备了吗?快来开始这个惊险的""""""吧!
操作指南:AE左右平移
arrows控制前后左右移动
enter暂停游戏AE左右平移
方向键控制前后左右移动
空格键射击
回车键暂停游戏
同类小游戏推荐
玩过《3D迷宫闯关》小游戏的用户还玩过
推荐小游戏陷阱小游戏
人气用户推荐
热门游戏榜
新浪玩玩意见反馈
欢迎使用新浪玩玩并提出宝贵建议。请提交玩玩意见反馈。
Copyright & 1996 - 2016 SINA Corporation, All Rights Reserved
北京市通信公司提供网络带宽还没账号?
使用以下账号直接登录:
未完成的任务0
您所在的位置: &
(window.slotbydup=window.slotbydup || []).push({
id: '2588824',
container: s,
size: '150,30',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2517323',
container: s,
size: '300,250',
display: 'inlay-fix'
憨豆先生动画版
闯关小游戏排行榜
504人觉得很赞
511人觉得很赞
490人觉得很赞
649人觉得很赞
688人觉得很赞
443人觉得很赞
723人觉得很赞
209人觉得很赞
663人觉得很赞
108人觉得很赞
393人觉得很赞
722人觉得很赞
879人觉得很赞
219人觉得很赞
692人觉得很赞
Copyright (C)
京ICP备号-1 北京冰枫天下科技有限公司
游戏作品版权归原作者享有,如无意之中侵犯了您的版权,请您按照《版权保护指引》来信告知,本网站将应您的要求删除。
温馨提示:适度游戏娱乐,沉迷游戏伤身,合理安排时间,享受快乐生活......
最佳大小最佳大小
游戏加载很慢
游戏玩不了
游戏存在错误
游戏页面错误
***暴力内容
游戏卡住了
(详细描述您遇到的问题、意见、建议等)
联系方式:
(如果方便,您可以留下QQ、邮箱或者***以便于我们和您进一步沟通)
新用户注册就送500元宝