Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Линии "чистым" JS (https://javascript.ru/forum/misc/11465-linii-chistym-js.html)

Aspiring 25.08.2010 09:52

Линии "чистым" JS
 
Здравствуйте

Совсем недавно начал изучать JS. Статьи, описанные на сайте, очень хорошо изложенные и хотелось бы поблагодарить автора за них.

Сейчас дошел до раздела События. Решил, что одно чтение слишком сухо - надо сделать простейший JS приложение... крестики-нолики

С самого начала встретился с проблемой как нарисовать линии только с помощью JS. Нашел такой код:
Код:

function drawLine( lineObjectHandle, Ax, Ay, Bx, By, lineImgPath )
{
    /*
    *        lineObjectHandle = an IMG tag with position:absolute
    */
    var
        xMin        = Math.min( Ax, Bx ),
        yMin        = Math.min( Ay, By ),
        xMax        = Math.max( Ax, Bx ),
        yMax        = Math.max( Ay, By ),
        boxWidth    = Math.max( xMax-xMin, 1 ),
        boxHeight  = Math.max( yMax-yMin, 1 ),
        tmp        = Math.min( boxWidth, boxHeight ),
        smallEdge  = 1,
        newSrc;


    while( tmp>>=1 )
        smallEdge<<=1;

    newSrc = lineImgPath+ smallEdge +( (Bx-Ax)*(By-Ay)<0?"up.gif":"down.gif" );
    if( lineObjectHandle.src.indexOf( newSrc )==-1 )
        lineObjectHandle.src = newSrc;

    with( lineObjectHandle.style )
    {
        width  = boxWidth        +"px";
        height  = boxHeight        +"px";
        left    = xMin                +"px";
        top    = yMin                +"px";
    }
}

Как использовать этот код?

Как я понял надо подставить задать Ax, Ay, Bx, By необходимые значения.

Вначале кода написал
Код:

lineObjectHandle = "up.gif"
lineObjectHandle.position='absolute'

Чувствую, что совсем в лес ушел. Буду рад обьяснениям и указанию моих ошибок

Kolyaj 25.08.2010 10:08

Цитата:

Сообщение от Aspiring
Чувствую, что совсем в лес ушел.

Вот уж точно. Вы крестики и нолики рисуете? Зачем? Картинки подставляйте.

Aspiring 25.08.2010 10:28

Цитата:

Сообщение от Kolyaj (Сообщение 68556)
Вот уж точно. Вы крестики и нолики рисуете? Зачем? Картинки подставляйте.

Нет :)

Я сетку рисую для крестиков-ноликов

Gvozd 25.08.2010 10:30

Цитата:

Сообщение от Aspiring
Я сетку рисую для крестиков-ноликов

зачем?
чем вам таблица не угодила?

Kolyaj 25.08.2010 10:33

Сетку тоже можно картинкой сделать.

Aspiring 25.08.2010 10:36

Рисовать таблицу на HTML?

Хочу полностью сделать игру на JS, даже если это будет очень нерациональным решением.

Можете указать как использовать вышестоящий код?

Aspiring 25.08.2010 10:37

Можно и картинкой, но чисто для "спортивного интереса" хочу на JS

Gvozd 25.08.2010 11:18

Цитата:

Сообщение от Aspiring
Рисовать таблицу на HTML?

Хочу полностью сделать игру на JS, даже если это будет очень нерациональным решением.

наркоман, чтоле?
у тебя навязчивая мания.
"чистый JS" без HTML-а практически бесполезен, и его практически не используют

Sweet 25.08.2010 11:31

Сделая таблицу с помощью js (document.createElement), ты как раз и сделаешь "Линии "чистым" JS":)

Kolyaj 25.08.2010 12:21

Цитата:

Сообщение от Gvozd
"чистый JS" без HTML-а практически бесполезен, и его практически не используют

Тут, конечно, Gvozd забыл уточнить, что браузерный JS без HTML бесполезен. :)


Часовой пояс GMT +3, время: 03:06.