我做了一个简单的游戏,可以让你通过按箭头键来移动一个紫色的盒子。紫色框位于蓝色边界内。我希望能够防止紫色盒子突破蓝色边界并留在里面,我知道这涉及到碰撞,但我似乎不明白如何做到这一点。这是我到目前为止编写的代码:
<!DOCTYPE html>
<html>
<head>
<style>
body
{
background-color:pink;
}
#bob
{
width:400px;
height:500px;
padding:10px;
border:5px solid blue;
margin:0px;
}
</style>
</head>
<body>
<div id="bob">
<div id="k" style="background- color:purple;width:40px;height:40px;position:absolute" onkeydown="keydownControl(this)"/>
</div>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.0.js">
</script>
<script>
$('html').keyup(function(e){
if(e.which==37)
{
$("#k").animate({left:"-=10px"},1);
}
if(e.which==39)
{
$("#k").animate({left:"+=10px"},1);
}
if(e.which==40)
{
$("#k").animate({top:"+=10px"},1);
}
if(e.which==38)
{
$("#k").animate({top:"-=10px"},1);
}
});
</script>
</body>
</html>
所以假设我正在移动紫色盒子,它碰巧碰到了蓝色方块。如果发生这种情况,必须停止朝那个方向移动,直到它不再与蓝色方块接触,从而防止它逃离蓝色方块。我将如何做到这一点,使用 JS 和 jQuery?