Привет есть код.
С верху экрана идут враги в внизу ты управляем дивом который стреляет.
Так вот проблемы
Как правильно сделать что бы див-враг убивался то есть когда пуля попадает в его распоряжение
Тут убийство врага решено но это очень сильно тормозит игру. я перебираю всех врагов в цикле и проверю попала ли в него пуля.Но иногда пуля через него проходит и он идет дальше
Вот код.
function kill()
{
setInterval(function ()
{
$('.enemy').each(function (i, elem)
{
if ($(this).offset().top + $(this).outerHeight(true) >= $(".ammo").offset().top && $(this).offset().left <= $(".ammo").offset().left && $(this).offset().left + $(this).outerWidth(true) >= $(".ammo").offset().left)
{
$(elem).remove();
scoreCount++;
}
});
},1);
}
Весь код целиком
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="Scripts/JavaScript.js"></script>
<script src="Scripts/jquery-3.1.1.min.js"></script>
<link rel="stylesheet" href="StyleSheet.css"/>
</head>
<body>
<script>
var scoreCount = 0;
var j = 0;
$(function ()
{
$(".play img").click(function ()
{
$(".go").empty();
$(".go").append('<div class="soldier"></div >');
addEnemy();
Shoot();
kill();
});
});
function addEnemy()
{
setInterval(function ()
{
j++;
var lef = getRandomFloat(50, 1250);
$(".go").append('<div class=' + j.toString() + '></div >');
$('.' + j.toString() + '').css({ "background-color": "#eee", "height": "50px", "width": "50px", "position": "absolute" }).offset({ top: 0, left: lef }).addClass("enemy");
toping($('.' + j.toString() + ''));
}, 1000);
}
function getRandomFloat(min, max)
{
return Math.random() * (max - min);
}
var hp = 100;
function toping(element) {
var i = 0;
$(".hp").text("100");
setInterval(function () {
i += 1;
element.offset({ top: i });
var q = element.offset().top;
if (q == 500)
{
hp = hp - 10;
//$(".hp").text(hp);
element.remove();
if (hp <= 0)
{
$(".go").remove();
$(".lose").show();
}
}
}, 100)
}
function topingAmmo(elementAmmo)
{
var i = elementAmmo.offset().top;
setInterval(function ()
{
i -= 1;
elementAmmo.offset({ top: i });
if (i <= 20)
{
elementAmmo.remove();
}
}, 10)
}
var i = 0;
$(document).keydown(function (e)
{
e.preventDefault();
if (e.which == 39) {
i += 20;
$('.soldier').offset({ left: i });
}
else if (e.which == 37) {
i -= 20;
$('.soldier').offset({ left: i });
}
else
{
return;
}
});
function Shoot()
{
var A = 0;
setInterval(function ()
{
A--;
var t = $('.soldier').offset().top;
var l = $('.soldier').offset().left;
$(".go").append('<div class=' + A.toString() + '></div >');
$('.' + A.toString() + '').css({ "background-color": "black", "height": "6px", "width": "6px", "position": "absolute" }).offset({ top: t - 25, left: l + 32 }).addClass("ammo");
topingAmmo($('.' + A.toString() + ''));
},200);
}
function kill()
{
setInterval(function ()
{
$('.enemy').each(function (i, elem)
{
if ($(this).offset().top + $(this).outerHeight(true) >= $(".ammo").offset().top && $(this).offset().left <= $(".ammo").offset().left && $(this).offset().left + $(this).outerWidth(true) >= $(".ammo").offset().left)
{
$(elem).remove();
scoreCount++;
}
});
},1);
}
</script>
<div class="lose">
<img src="Images/0.png"/>
</div>
<div class="go">
<div class="play">
<img src="Images/Play.jpg" />
</div>
<h1 class="choise">Выберите сложность</h1>
<div class="level">
<div class="easy"><h1>легко</h1></div>
<div class="medium"><h1>cредне</h1></div>
<div class="hard"><h1>тяжело</h1></div>
</div>
</div>
</body>
</html>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Пытаюсь написать функцию на JS которая принимает заданный массив и реверсирует егоЯ знаю о том что есть специальный метод для этого, но есть...
Подскажите как можно сделать вписывание изображений в зависимости от их количества в блок ?