collision!
This commit is contained in:
parent
a515117b7f
commit
59513aa5a8
1 changed files with 49 additions and 6 deletions
55
herzle.html
55
herzle.html
|
@ -29,10 +29,40 @@
|
|||
shoots = [];
|
||||
function shoot(player_pos) {
|
||||
shoots[shoots.length] = [player_pos, 500];
|
||||
pewpew = 5;
|
||||
// pewpew = 5;
|
||||
}
|
||||
|
||||
function isCollided(a, b) {
|
||||
var a_left = parseInt(a.style.left);
|
||||
var a_right = a_left + a.offsetWidth;
|
||||
var a_top = parseInt(a.style.top);
|
||||
var a_bottom = a_top + a.offsetHeight;
|
||||
|
||||
var b_left = parseInt(b.style.left);
|
||||
var b_right = b_left + b.offsetWidth;
|
||||
var b_top = parseInt(b.style.top);
|
||||
var b_bottom = b_top + b.offsetHeight;
|
||||
|
||||
return !(
|
||||
(a_left > b_right) ||
|
||||
(a_right < b_left) ||
|
||||
(a_top > b_bottom) ||
|
||||
(a_bottom < b_top)
|
||||
);
|
||||
}
|
||||
|
||||
function gameLoop() {
|
||||
// detect collision
|
||||
var enemydiv = document.getElementById("enemy");
|
||||
for(var i = 0; i < shoots.length; i++) {
|
||||
if (shoots[i]) {
|
||||
var shootdiv = document.getElementById('shoot' + i);
|
||||
if (shootdiv && isCollided(shootdiv, enemydiv)) {
|
||||
pewpew = 10;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// render shoots
|
||||
for(var i = 0; i < shoots.length; i++) {
|
||||
if (shoots[i]) {
|
||||
|
@ -66,6 +96,11 @@ function gameLoop() {
|
|||
pewpewdiv.innerHTML = "";
|
||||
}
|
||||
|
||||
// render enemy
|
||||
var enemydiv = document.getElementById("enemy");
|
||||
enemydiv.style.left = 300;
|
||||
enemydiv.style.top = 10;
|
||||
|
||||
// animate shoots
|
||||
for(var i = 0; i < shoots.length; i++) {
|
||||
if (shoots[i]) {
|
||||
|
@ -88,15 +123,22 @@ function gameLoop() {
|
|||
|
||||
<style type="text/css">
|
||||
* {
|
||||
font-size: 20pt;
|
||||
font-size: 2em;
|
||||
color: #ff00ff;
|
||||
font-family: helvetica, arial;
|
||||
}
|
||||
#player {
|
||||
position: absolute;
|
||||
bottom: 10%;
|
||||
-webkit-transform: rotate(90deg);
|
||||
-moz-transform: rotate(90deg);
|
||||
/* -webkit-transform: rotate(90deg);
|
||||
-moz-transform: rotate(90deg); */
|
||||
}
|
||||
#enemy {
|
||||
position: absolute;
|
||||
top: 10%;
|
||||
/* -webkit-transform: rotate(90deg);
|
||||
-moz-transform: rotate(90deg); */
|
||||
border-style: solid; border-width: 1px;
|
||||
}
|
||||
#pewpew {
|
||||
position:absolute;
|
||||
|
@ -105,13 +147,14 @@ function gameLoop() {
|
|||
}
|
||||
div.shoot {
|
||||
position:absolute;
|
||||
border-style: solid; border-width: 1px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body onload="gameLoop();">
|
||||
<span id="herzle"><3</span>
|
||||
<span id="player"><</span>
|
||||
<div id="enemy">3</div>
|
||||
<div id="player"><</div>
|
||||
<div id="pewpew"></div>
|
||||
</body>
|
||||
|
||||
|
|
Reference in a new issue