18.11.2013, 16:57
|
Интересующийся
|
|
Регистрация: 23.10.2013
Сообщений: 29
|
|
помогите с игрой
пишу игру помогите сделать радиус порождения для оружия
HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>333</title>
</head>
<body>
<div id="menu">
<img src="120px-Молот.png" id="mol">
<img src="120px-Базука.png" id="baz">
<img src="120px-Бомбардировка.png" id="boom">
<img src="Динамит.png" id="tnt">
</div>
<script src="js.js"></script>
</body>
</html>
js
var a=document.createElement('mol');
mol.style.width="120px";
mol.style.height="120px";
mol.style.position='absolute';
mol.onclick=function cur(){
document.body.style.cursor = 'url("32p.png"), default';
}
document.body.appendChild(a);
var b=document.createElement('baz');
baz.style.top="120px";
baz.style.width="120px";
baz.style.height="120px";
baz.style.position='absolute';
baz.onclick=function changeCursor(){
document.body.style.cursor = 'url("32px-Базука.png"), default';
}
document.body.appendChild(b);
var c=document.createElement('boom');
boom.style.top="240px";
boom.style.width="120px";
boom.style.height="120px";
boom.style.position='absolute';
boom.onclick=function changeCursor(){
document.body.style.cursor = 'url("32px-Бомбардировка.png"), default';
}
document.body.appendChild(c);
var d=document.createElement('tnt');
tnt.style.top="360px";
tnt.style.width="120px";
tnt.style.height="120px";
tnt.style.position='absolute';
tnt.onclick=function changeCursor(){
document.body.style.cursor = 'url("32px-Динамит.png"), default';
}
document.body.appendChild(d);
var test=document.createElement('menu');
menu.style.backgroundColor=
menu.style.zIndex=10;
menu.style.width="160px";
menu.style.height="600px";
menu.style.position='absolute';
menu.style.left="-155px";
menu.onmouseover=azz;
function azz(event) {
var left = -155;
function frame() {
left++;
menu.style.left = left + 'px'
if (left == 0) {
clearInterval(timer1);
}
}
var timer1 = setInterval(frame, 10)
}
menu.onmouseout=az;
function az(event) {
var left = 0;
function frame() {
left--;
menu.style.left = left + 'px'
if (left == -155) {
clearInterval(timer1);
}
}
var timer1 = setInterval(frame, 10)
}
document.body.appendChild(test);
var fon = document.createElement('div');
fon.style.width = '100%';
fon.style.height = '100%';
fon.style.position = 'absolute';
fon.style.backgroundImage = "url(trava.jpg)";
document.body.appendChild(fon);
var p = document.createElement('div');
p.style.width = '100px';
p.style.zIndex=1000;
p.style.height = '79px';
p.style.backgroundImage = "url('p2.gif')";
p.style.position = 'absolute';
p.style.top = '50%';
p.style.left = '50%';
document.body.appendChild(p);
function povtor(){
var bunny = document.createElement('div');
bunny.style.width = '30px';
bunny.style.height = '30px';
bunny.style.backgroundImage = "url('z1.gif')";
bunny.style.position = 'absolute';
y = Math.random()*600;
x = Math.random()*1200;
bunny.style.top = y+'px';
bunny.style.left = x+'px';
bunny.onclick=function(event) {event.target.style.display='none';}
document.body.appendChild(bunny);
function move(event) {
var left =parseInt(bunny.style.left, 10);
function frame() {
if (left<683){left++;
bunny.style.left = left + 'px'}
else if (left <= 683) {
} else {
left--;
bunny.style.left = left + 'px'
}
bunny.style.left = left + 'px'
if (left == 683) {
clearInterval(timer1);
}
}
var timer1 = setInterval(frame, 10)
var top =parseInt(bunny.style.top, 10);
function frame2() {
if(top<360){top++;
bunny.style.top = top + 'px'}
else if(top>360){
top--;
bunny.style.top = top + 'px'
}
if (top == 360) {
clearInterval(timer2);
}
}
var timer2 = setInterval(frame2, 10)
}
setTimeout(move,1000);
}
setInterval(povtor,1000)
криво залито http://learn.javascript.ru/play/7VG9B
Последний раз редактировалось nub, 18.11.2013 в 17:00.
Причина: исправление ошибок
|
|
18.11.2013, 23:22
|
Интересующийся
|
|
Регистрация: 23.10.2013
Сообщений: 29
|
|
чтоб по клику на bunny например в радиусе 30 пикселей исчезли остальные bunny как это реализовать на js
|
|
19.11.2013, 09:38
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,228
|
|
Сообщение от nub
|
помогите сделать радиус порождения для оружия
...
чтоб по клику на bunny например в радиусе 30 пикселей исчезли остальные bunny как это реализовать
|
Дык...
|
|
19.11.2013, 12:41
|
Интересующийся
|
|
Регистрация: 23.10.2013
Сообщений: 29
|
|
ksa,
спасибо я искал как это реализовать на js не нашёл
|
|
19.11.2013, 13:02
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,228
|
|
Сообщение от nub
|
я искал как это реализовать на js не нашёл
|
Не нашел как посчитать разность двух чисел и модуль числа?
|
|
20.11.2013, 16:23
|
Интересующийся
|
|
Регистрация: 23.10.2013
Сообщений: 29
|
|
Сообщение от ksa
|
Не нашел как посчитать разность двух чисел и модуль числа?
|
сам смысл понятен но в плане кода не очень нужно выташити координаты из bunny и сравнивать с другими координатами bunny с этим проблема
|
|
20.11.2013, 16:40
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,228
|
|
Сообщение от nub
|
нужно выташити координаты из bunny и сравнивать с другими координатами bunny с этим проблема
|
На то есть статейка!
http://javascript.ru/ui/offset
|
|
28.11.2013, 17:31
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,125
|
|
nub,
клик по кролику должен выдавать его координаты -- потом идти по массиву и смотреть какие ещё кролики лежать в радиусе 30 пикселей от этих координат
|
|
28.11.2013, 21:35
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,125
|
|
nub,
Цитата:
|
Раз, два, три, четыре, пять, Вышел зайчик погулять, Вдруг охотник выбегает, Прямо в зайчика стреляет. Пиф - паф ой-ой-ой Умирает зайчик мой.
|
базука - радиус поражения 30, 100, 200
+ подсчёт тушек
зайцы размножаются бесконечно, но не более 25 штук на поле
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<style type="text/css">
body{
background: url(http://learn.javascript.ru/files/play/52/8a/528a0db7e024b.jpg) #008000;
color: #FFFFFF;
font-size: x-large;
}
</style>
</head>
<body>
<div id="ok">0</div>
<input type="radio" name="boom" value="30" id="boom30" checked="checked" ><label for="boom30">30</label>
<input type="radio" name="boom" value="100" id="boom100"><label for="boom100">100</label>
<input type="radio" name="boom" value="200" id="boom200"><label for="boom200">200</label>
<script>
var random = function (b) {
return Math.ceil(Math.random() * b)
}, rabbitsArray = [],
win = 0;
function unit() {
for (var b = rabbitsArray.length; 25 > b; b++) {
rabbitsArray[b] = [random(400), random(800)];
var c = rabbitsArray[b];
c.bunny = document.createElement("div");
var a = c.bunny;
a.style.width = "30px";
a.style.height = "30px";
a.style.backgroundImage = "url('http://learn.javascript.ru/files/play/52/8a/528a0db80b9f9.gif')";
a.style.backgroundPosition = "center center";
a.style.backgroundRepeat = "no-repeat";
a.style.position = "absolute";
a.style.top = c[0] + "px";
a.style.left = c[1] + "px";
document.body.appendChild(a)
}
}
unit();
function bum(b) {
var boom = document.querySelector(':checked').value;
for (var c = rabbitsArray.length - 1, a; a = rabbitsArray[c]; c--) {
var d = Math.pow(a[0] - (b[0] - 15), 2) + Math.pow(a[1] - (b[1] - 15), 2),
d = Math.sqrt(d);
boom > d && (win++, document.getElementById("ok").innerHTML = win, a.bunny.style.border = "#FF0000 1px solid", a = rabbitsArray.splice(c, 1), window.setTimeout(function (a) {
return function () {
document.body.removeChild(a)
}
}(a[0].bunny), 500))
}
unit()
}
document.onclick = function (b) {
b = b || event;
bum([b.clientY, b.clientX])
};
</script>
</body>
</html>
Последний раз редактировалось рони, 29.11.2013 в 02:23.
|
|
|
|