时间:2021-05-26
本文实例为大家分享了js键盘事件实现人物行走的具体代码,供大家参考,具体内容如下
描述:
小时候喜欢玩的一个游戏,魔塔,实现了人物的行走,以及跳跃,当然是2D的效果。
用到的图:
效果:
代码:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> html { background-color: deepskyblue; } div { width: 32px; height: 32px; background-image: url("img/Actor01-Braver03.png"); position: absolute; } </style></head><body> <div></div> <script> var key=0; var bool=false; var speed=2;//每次行走的距离 var actor;//人物div const HEIGHT=33;//人物的高 const WIDTH=32;//人物的宽 var arr=[1,3,2,0];//4排图像 代表 下 左 右 上 var num=0; var jumpBool=false; var actorSkinSpeed=8; var jumpSpeed=-15; init(); function init() { window.addEventListener("keydown",keyHandler); window.addEventListener("keyup",keyHandler); actor=document.querySelector("div"); setInterval(animation,16); //按键驱动不能实现 实现的是通过按键触发相应动画 实现我们的人物的帧动画 跳转 } function keyHandler(e) { bool=e.type==="keydown"; key=e.keyCode; if(!bool){ num=0; actor.style.backgroundPositionX=-num*WIDTH+"px"; } if(key===32 && !jumpBool){//跳跃 空格驱动 jumpBool=true; } } function animation() { jump(); if(!bool)return; walk();//单方向行走 实现 changeDirection();//方向确定时 内部行走的实现 } function jump() { if(!jumpBool)return; jumpSpeed+=1; if(jumpSpeed===15){ jumpBool=false; jumpSpeed=-15; return; } actor.style.top=actor.offsetTop+jumpSpeed+"px"; } function changeDirection() { actorSkinSpeed--; if(actorSkinSpeed>0) return; actorSkinSpeed=8; num++; if(num>3) num=0; actor.style.backgroundPositionX=-num*WIDTH+"px"; } function walk() { switch (key){ case 37://左 ×1 第二排 actor.style.left=actor.offsetLeft-speed+"px"; actor.style.backgroundPositionY=-arr[0]*HEIGHT+"px"; break; case 38://上 ×3 第四排 actor.style.top=actor.offsetTop-speed+"px"; actor.style.backgroundPositionY=-arr[1]*HEIGHT+"px"; break; case 39://右 ×2 第三排 actor.style.left=actor.offsetLeft+speed+"px"; actor.style.backgroundPositionY=-arr[2]*HEIGHT+"px"; break; case 40://下 ×0 第一排 actor.style.top=actor.offsetTop+speed+"px"; actor.style.backgroundPositionY=-arr[3]*HEIGHT+"px"; break; } } </script></body></html>以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文分享给大家的是一个用纯CSS3实现的人物行走动画,在没有使用JavaScript的情况下,用CSS3技术将人物行走的姿态描绘得非常逼真。其实动画实现的原理也
本文实例为大家分享了js上下左右键盘控制div移动的具体代码,供大家参考,具体内容如下描述:div通过键盘事件上下左右实现div块的移动效果:实现:js:var
在网上有非常多通过射线方式实现的人物行走控制脚本,可是假设仅仅是想通过键盘按键来控制的话。比方进行第三人称视角控制,事实上仅仅须要进行简单的角度变换就可以。思路
本文实例讲述了Ubuntu下使用Python实现游戏制作中的切分图片功能。分享给大家供大家参考,具体如下:why拿到一个人物行走的素材,要用TexturePac
最近在好好的研究JS,通过一个仿邮箱登录提示框的案例加深下对面向对象的理解!啥都别说,先上图:功能:实现正则匹配显示相符的内容、键盘事件、鼠标事件简单布局:仿微