js方向键控制代码

作者 : 开心源码 本文共1843个字,预计阅读时间需要5分钟 发布时间: 2022-05-11 共91人阅读

最近水猿比较忙,先放段之前写游戏使用的js代码,等忙完这段时间,继续与大家分享node学习。

$(function () {

//小键盘事件

var oBox = document.getElementsByClassName(“hid”)[0];

var bLeft = bTop = bRight = bBottom = bCtrlKey = false;

setInterval(function ()

{

if (bLeft)

{

oBox.style.left = oBox.offsetLeft – 10 + “px”

}

else if (bRight)

{

oBox.style.left = oBox.offsetLeft + 10 + “px”

}

if (bTop)

{

oBox.style.top = oBox.offsetTop – 10 + “px”

}

else if(bBottom)

{

oBox.style.top = oBox.offsetTop + 10 + “px”

}

//防止溢出

limit();

},30);

document.onkeydown = function (event)

{

var event = event || window.event;

bCtrlKey = event.ctrlKey;

switch (event.keyCode)

{

case 37:

bLeft = true;

break;

case 38:

if(bCtrlKey)

{

var oldWidth = oBox.offsetWidth;

var oldHeight = oBox.offsetHeight;

oBox.style.width = oBox.offsetWidth * 1.5 + “px”;

oBox.style.height = oBox.offsetHeight * 1.5 + “px”;

oBox.style.left = oBox.offsetLeft – (oBox.offsetWidth – oldWidth) / 2 + “px”;

oBox.style.top = oBox.offsetTop – (oBox.offsetHeight – oldHeight) / 2 + “px”;

break;

}

bTop = true;

break;

case 39:

bRight = true;

break;

case 40:

if(bCtrlKey)

{

var oldWidth = oBox.offsetWidth;

var oldHeight = oBox.offsetHeight;

oBox.style.width = oBox.offsetWidth * 0.75 + “px”;

oBox.style.height = oBox.offsetHeight * 0.75 + “px”;

oBox.style.left = oBox.offsetLeft – (oBox.offsetWidth – oldWidth) / 2 + “px”;

oBox.style.top = oBox.offsetTop – (oBox.offsetHeight – oldHeight) / 2 + “px”;

break;

}

bBottom = true;

break;

}

return false

};

document.onkeyup = function (event)

{

switch ((event || window.event).keyCode)

{

case 37:

bLeft = false;

break;

case 38:

bTop = false;

break;

case 39:

bRight = false;

break;

case 40:

bBottom = false;

break;

}

};

//防止溢出

function limit()

{

var doc = [document.documentElement.clientWidth, document.documentElement.clientHeight]

//防止左侧溢出

oBox.offsetLeft <=0 &amp;&amp; (oBox.style.left = 0);

//防止顶部溢出

oBox.offsetTop <=0 &amp;&amp; (oBox.style.top = 0);

//防止右侧溢出

doc[0] – oBox.offsetLeft – oBox.offsetWidth <= 0 &amp;&amp; (oBox.style.left = doc[0] – oBox.offsetWidth + "px");

//防止底部溢出

doc[1] – oBox.offsetTop – oBox.offsetHeight <= 0 &amp;&amp; (oBox.style.top = doc[1] – oBox.offsetHeight + "px")

}

})

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » js方向键控制代码

发表回复