Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.11.2013, 16:57
nub nub вне форума
Интересующийся
Отправить личное сообщение для nub Посмотреть профиль Найти все сообщения от nub
 
Регистрация: 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
Изображения:
Тип файла: jpg baaa.jpg (369.8 Кб, 7 просмотров)

Последний раз редактировалось nub, 18.11.2013 в 17:00. Причина: исправление ошибок
Ответить с цитированием
  #2 (permalink)  
Старый 18.11.2013, 23:22
nub nub вне форума
Интересующийся
Отправить личное сообщение для nub Посмотреть профиль Найти все сообщения от nub
 
Регистрация: 23.10.2013
Сообщений: 29

чтоб по клику на bunny например в радиусе 30 пикселей исчезли остальные bunny как это реализовать на js
Ответить с цитированием
  #3 (permalink)  
Старый 19.11.2013, 09:38
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,137

Сообщение от nub
помогите сделать радиус порождения для оружия
...
чтоб по клику на bunny например в радиусе 30 пикселей исчезли остальные bunny как это реализовать
Дык...
Ответить с цитированием
  #4 (permalink)  
Старый 19.11.2013, 12:41
nub nub вне форума
Интересующийся
Отправить личное сообщение для nub Посмотреть профиль Найти все сообщения от nub
 
Регистрация: 23.10.2013
Сообщений: 29

ksa,
спасибо я искал как это реализовать на js не нашёл
Ответить с цитированием
  #5 (permalink)  
Старый 19.11.2013, 13:02
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,137

Сообщение от nub
я искал как это реализовать на js не нашёл
Не нашел как посчитать разность двух чисел и модуль числа?
Ответить с цитированием
  #6 (permalink)  
Старый 20.11.2013, 16:23
nub nub вне форума
Интересующийся
Отправить личное сообщение для nub Посмотреть профиль Найти все сообщения от nub
 
Регистрация: 23.10.2013
Сообщений: 29

Сообщение от ksa Посмотреть сообщение
Не нашел как посчитать разность двух чисел и модуль числа?
сам смысл понятен но в плане кода не очень нужно выташити координаты из bunny и сравнивать с другими координатами bunny с этим проблема
Ответить с цитированием
  #7 (permalink)  
Старый 20.11.2013, 16:40
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,137

Сообщение от nub
нужно выташити координаты из bunny и сравнивать с другими координатами bunny с этим проблема
На то есть статейка!
http://javascript.ru/ui/offset
Ответить с цитированием
  #8 (permalink)  
Старый 28.11.2013, 17:14
nub nub вне форума
Интересующийся
Отправить личное сообщение для nub Посмотреть профиль Найти все сообщения от nub
 
Регистрация: 23.10.2013
Сообщений: 29

сделала массив из кроликов и определил координаты как теперь их состыковать?http://learn.javascript.ru/play/4kokh
Ответить с цитированием
  #9 (permalink)  
Старый 28.11.2013, 17:31
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,081

nub,
клик по кролику должен выдавать его координаты -- потом идти по массиву и смотреть какие ещё кролики лежать в радиусе 30 пикселей от этих координат
Ответить с цитированием
  #10 (permalink)  
Старый 28.11.2013, 21:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,081

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.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помощь с игрой Память infini7y Общие вопросы Javascript 5 03.09.2012 16:14
Вопрос с игрой трубопроводчик 2pizza Общие вопросы Javascript 17 30.08.2012 17:33
поиогите разобратся с JavaScript Вадим Общие вопросы Javascript 0 28.04.2009 00:03