Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   сбой отрисовки линий (http://www.flasher.ru/forum/showthread.php?t=53697)

Nickoledion 15.01.2004 12:54

сбой отрисовки линий
 
Привет, всем!
вот код, с помощью которого я отрисовываю много-много горизонтальных чёрточек. А потом перечёркиваю их одной длинной полоской. (не спрашивайте "зачем?" :) )
Всё это на Flash 5;

MovieClip.prototype.drawLine = function(ax1, ay1, ax2, ay2) {
with (this) {
lineStyle(1, 0, 100);
moveTo(ax1, ay1);
lineTo(ax2, ay2);
}
}

var mcGround = this.createEmptyMovieClip("mcGround", 1);
mySP.setScrollContent(mcGround);

for (var i=0; i<2681; i++) {
ty = 3 * i;
mcGround.drawLine(5, ty, 15, ty);
}

mcGround.drawLine(10, 0, 10, ty);

mySP.refreshPane();

---------------
так вот, если граница цикла меньше числа 2681, то всё чётко прорисовывается. Если немного больше - то вертикальная линия начинает глючить и прорисовываться частями (или даже копировать себя). Если же заменить на совсем большое - например 12681 - тогда и горизонтальные чёрточки будут глючить, а внизу сольются в одно целое! :confused:

Подскажите, плз, что за глюк такой и как его побороть. Спасибо!

opex 15.01.2004 18:13

просто когда координата у привышает максимальню то её автоматм кидает на минимальную и получается что эти черточки рисуются покругу вот а так как у тебя гдето есть смещение на 1 пиксель они начинают глючить вот те код там все сразу видно
Код:

_root.createEmptyMovieClip("ver", 0);
with (_root.ver) {
        lineStyle(0, 0x000000, 100);
        for (i=0; i<20000; i += 5) {
                moveTo(25, i);
                lineTo(35, i);
        }
        moveTo(30, 0);
        lineTo(30, i);
}


Nickoledion 15.01.2004 19:38

ок! Спасибо!
И, как я понимаю, это максимальное значение изменить/установить никак нельзя!? :(

sergwizard 16.01.2004 01:25

Цитата:

Всё это на Flash 5;
Везет же некоторым! А у меня все это только в МХ работает. :D

Штрек 16.01.2004 04:56

У него, наверное 5ка переходящая в 7ку. :D

Nickoledion 16.01.2004 12:12

Цитата:

Оригинал написал(а) Штрек
У него, наверное 5ка переходящая в 7ку. :D
Прошу прощения - ошибся я. Flash MX, конечно же! :)

styx 16.01.2004 12:49

Цитата:

просто когда координата у привышает максимальню то её автоматм кидает на минимальную
А вот такой вопрос - если где-нибудь официальная информация по этим nin/max значениям? Я тоже в какой-то момент на это напоролся и долго мучался... но не скажу, что полученное решение меня устраивает. Ещё тот же эфект с _scale параметрами - при увеличении больше какой-то величины круг превращается... ну, можете догадаться, во что он превращается. И вот как бы вычислить те значения, которые использовать нельзя - ведь они, видимо, зависят от координат того, что находится в клипе?

sergwizard 16.01.2004 21:15

Цитата:

Я тоже в какой-то момент на это напоролся и долго мучался... но не скажу, что полученное решение меня устраивает.
А скажите-ка мне, мученик styx и Nickoledion, на кой пес вам такие большие величины? Вот, давайте посмотрим на эти строчки из кода:
for (var i=0; i<2681; i++) {
ty = 3 * i; … }
Получаем в итоге 8043 пикселя по оси у. Это на порядок больше, чем размер экрана монитора. Но и этого вам мало. Вы хотите больше. Зачем???? Для чего вам такой(!) Flash документ. Куда вы его запихивать собираетесь? Просто интересно услышать логичное объяснение.

Штрек 16.01.2004 21:46

Цитата:

Оригинал написал(а) sergwizard

Получаем в итоге 8043 пикселя по оси у. .

А бедный проц, должен всё это дело обрабатывать. :p

sergwizard 17.01.2004 23:57

Так что, нет логичных объяснений? :p


Часовой пояс GMT +4, время: 18:42.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.