js制作网页游戏-键盘控制人物移动
要实现游戏角色的移动这里写4个方法
当数字键盘旁的上下左右键按时 fx的值就会改变 以此来改变角色的方向
var fx='r' //初始方向//
绑定键盘事件document.addEventListener("keydown",key,false);
function key(e) {
var event = e || window.event;
// console.log(event.key);
switch (event.key) {
case "ArrowRight":
fx = 'r';
break;
case "ArrowLeft":
fx = 'l';
break;
case "ArrowDown":
fx = 'b';
break;
case "ArrowUp":
fx = 't';
break;
}
}
角色的模型是png格式 这时就需要2张图片的连续切换形成跑的动作 代码:
我这里四个方向共有8张图片
var n = 0;var s = 5;//人物图片切换形成移动的方法 定义 n和s 是每当调用5次qh()方法只执行1次 防止图片切换过快function qh() {
if (n % s == 0) {
if (getUrl(ren.src) == "7_" + fx + "_5.png") {
ren.src = "images/playImg/7_" + fx + "_6.png";
} else {
ren.src = "images/playImg/7_" + fx + "_5.png";
}
n = 1;
}
n++;
}
当我们可以控制人物上下左右不同跑动的姿势后 再来写角色的移动
var ren = document.getElementById("ren");//获取人物对象var x = 0, y = 0; //起始
var xs = 8, ys = 8; //速度
//人物移动的方法
function run() {
switch (fx) {
case "r":
x += xs;
break;
case "l":
x -= xs;
break;
case "b":
y += ys;
break;
case "t":
y -= ys;
break;
}
ren.style.top = y + "px";
ren.style.left = x + "px";
}
当然啦 角色是要脱落文档流的,即设置position: absolute;
最后写个定时器 执行这些方法
function start() {timer
= setInterval(function () {qh();
run();
},
33);}
运行图片
以上是 js制作网页游戏-键盘控制人物移动 的全部内容, 来源链接: utcz.com/a/72183.html