js方向键控制代码

  • 时间:2018-06-06 01:50 作者:我不是程序猿 来源:我不是程序猿 阅读:97
  • 扫一扫,手机访问
摘要:最近水猿比较忙,先放段之前写游戏使用的js代码,等忙完这段时间,继续与大家分享node学习。$(function () {//小键盘事件 var oBox = document.getElementsByClassName("hid")[0]; var bLeft = bTop = bRight =

最近水猿比较忙,先放段之前写游戏使用的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")

}

})

  • 全部评论(0)
最新发布的资讯信息
【系统环境|】2019蚂蚁金服面试总结(Java方向)(2019-04-18 16:19)
【系统环境|】notepad++ 三位数字正则替换规则(2019-04-12 23:02)
【系统环境|服务器应用】网络工程师跨交换机的Vlan配置与管理知识(2019-03-26 02:14)
【系统环境|服务器应用】最小化的定制版linux系统:CoreOS(2019-03-26 02:14)
【系统环境|服务器应用】分布式系统面试题:分布式事务处理方案?(2019-03-26 02:13)
【系统环境|服务器应用】带着网关去旅行(系列二):防止vps上ssh端口被恶意扫描(2019-03-26 02:13)
【系统环境|服务器应用】美团iOS面试总结(2019-03-26 02:13)
【系统环境|服务器应用】百度iOS面试总结(2019-03-26 02:13)
【系统环境|服务器应用】Java大佬之学习历程(三)(2019-03-26 02:13)
【系统环境|服务器应用】Android面试集锦系列(38)——在项目中使用AsyncTask会有什么问题吗?(2019-03-26 02:13)
手机二维码手机访问领取大礼包
返回顶部