Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Удалить нарисованное moveTo (http://www.flasher.ru/forum/showthread.php?t=67863)

Takato 13.08.2005 02:42

Удалить нарисованное moveTo
 
Вобщем, рисую квадрат

lineStyle (2, 0x000000, 100);
moveTo (x1, y1);
lineTo (x2, y2);
lineTo (x3, y3);
lineTo (x4, y4);
lineTo (x1, y1);

- как его теперь удалить нафиг?

TERRORist 13.08.2005 02:58

У-у-у... Как все запущено... Юзай хепл.



clear()

TERRORist 13.08.2005 02:58

т.е. хелп.

Takato 13.08.2005 03:02

Цитата:

Сообщение от TERRORist
У-у-у... Как все запущено... Юзай хепл.

clear()

Не поверишь - в статье по moveTo ссылки на clear() не было

Я сам понимаю что вопрос дурацкий - но мне срочно понадобилось. А то эта бяка нарисовалась а стираться не захотела

TERRORist 13.08.2005 03:16

странно, я не помню чтоб у меня такая проблема появлялась когда-либо.

Takato 13.08.2005 03:25

Цитата:

Сообщение от TERRORist
странно, я не помню чтоб у меня такая проблема появлялась когда-либо.

У меня проблема в том, что 7-ая версия флэша только щас дома появилась. В 5-ой такой функции не было, а когда раньше работал в 7-ке или в 6-ке - еще не нужна была

veterok4 14.08.2005 15:55

у меня ещё хуже!
 
представьте теперь мою проблему!
у меня программно рисуется много бяк. целый блок- причём рандомно с тригонометрическим вращением. а вот теперь представьте что мне нужно удалить только скажем последние три или четыре итерации (прорисовки)?
как это сделать?

iNils 14.08.2005 19:45

Цитата:

Сообщение от veterok4
представьте теперь мою проблему!
у меня программно рисуется много бяк. целый блок- причём рандомно с тригонометрическим вращением. а вот теперь представьте что мне нужно удалить только скажем последние три или четыре итерации (прорисовки)?
как это сделать?

Если все рисуешь в одном клипе то никак.
Можно сделать только если под каждое действие сделать отдельный мувиклип.

veterok4 14.08.2005 22:11

а это мысль!
 
получается для каждой бяки (а их тысячи) = - создавать отдельный клип? это просто не реально. и потом ведь каждый нужно держать в памяти?
не ужели это одна из вещей которые флеш не может???
хм... обидно!

TERRORist 15.08.2005 02:51

Цитата:

Сообщение от veterok4
получается для каждой бяки (а их тысячи) = - создавать отдельный клип? это просто не реально. и потом ведь каждый нужно держать в памяти?
не ужели это одна из вещей которые флеш не может???
хм... обидно!

"получается для каждой бяки (а их тысячи) = - создавать отдельный клип?" Игра про бяк?) Циклы юзай !(

"и потом ведь каждый нужно держать в памяти?" не в своей голове ведь держать. RAM, понимаешь!

nuran 15.08.2005 03:37

удалит никак, перересовать тоже самое но без этих "трёх бяк".

Takato 15.08.2005 03:42

Цитата:

Сообщение от iNils
Если все рисуешь в одном клипе то никак.
Можно сделать только если под каждое действие сделать отдельный мувиклип.

А кто знает как с этим будут дела в 8-ой версии?

CHyCMyMPuK 15.08.2005 13:08

есть метода кривая но работающая)).. ежли у тебя нет никакого фона ниже чем у тебя рисуется програмная графика, либо етот фон какойнить статичный одноцветный
затирать линии можно рисуя подобные линии толькма в обратном направлении тогоже цвета что и фон))) типо работает иладна))

iNils 15.08.2005 13:54

Цитата:

Сообщение от veterok4
получается для каждой бяки (а их тысячи) = - создавать отдельный клип? это просто не реально. и потом ведь каждый нужно держать в памяти?
не ужели это одна из вещей которые флеш не может???
хм... обидно!

В фотошопе тоже не вечная память, ставится уровень истории.

Вот пример. Быстро нарисуйте мышкой штук 10 линий и через 5 секунд последняя сотрется.

Код:

// Уровень истории
level = 5;
for (i = 0; i <= level; i++) {
        _root.createEmptyMovieClip ("mc" + i, i);
        _root["mc" + i].lineStyle (0, 0xff0000);
}
_root.onMouseDown = function () {
        _root.mix ();
        _root["mc" + level].x1 = _xmouse;
        _root["mc" + level].y1 = _ymouse;
};
_root.onMouseUp = function () {
        _root["mc" + level].x2 = _xmouse;
        _root["mc" + level].y2 = _ymouse;
        for (i = 1; i <= level; i++) {
                _root["mc" + i].clear ();
                _root["mc" + i].lineStyle (0, 0xff0000);
                draw (_root["mc" + i]);
        }
        draw (_root.mc0);
};
_root.mix = function () {
        for (i = 0; i < level; i++) {
                _root["mc" + i].x1 = _root["mc" + (i + 1)].x1;
                _root["mc" + i].y1 = _root["mc" + (i + 1)].y1;
                _root["mc" + i].x2 = _root["mc" + (i + 1)].x2;
                _root["mc" + i].y2 = _root["mc" + (i + 1)].y2;
        }
};
_root.draw = function (obj) {
        trace (obj + " " + obj.x1);
        obj.moveTo (obj.x1, obj.y1);
        obj.lineTo (obj.x2, obj.y2);
};
setInterval (function () {
        _root["mc" + level].clear ();
        _root["mc" + level].x1=null
        _root["mc" + level].x2=null
        _root["mc" + level].y1=null
        _root["mc" + level].y2=null
}, 5000);


Samodelkin 15.08.2005 15:14

Все нормально работает :D это память загружает не очень сильно делал и 1000 мувиков и 5000 рисовалось все быстро 100 ms примерно
Если лень и фон монотоный рисуй еще бяку в цвет фона)

veterok4 15.08.2005 22:18

вы не много не поняли!
 
Вложений: 1
вот я тут гильоширную розетку ваяю - там суперские ленты мёбиуса получаются в наложении когда просто на выходе меняешь косинус на синус!
так вот нельзя разве сделать кнопку "назад" - которая будет действовать следующим образом: нарисовали, например (см аттач), первую розетку - (при нажатии на пимпу создался первый мувик), затем ещё один крыс на ней... и вот уже (внимание вопрос) - рисуется следующий (поверх) мувик- но прозрачный фон имя! в нем как реализовать этот самый прозрачный фон - чтоб визуально складывалось впечатление что это просто рисуются так же кривые но по верх прошлых - которых видно! ... а потом мы ррраз -и удаляем последний мувик (по мере необходимости), создаётся впечатление что мы просто отозвали назад последнее действие...

Takato 15.08.2005 22:38

Цитата:

Сообщение от veterok4
вот я тут гильоширную розетку ваяю - там суперские ленты мёбиуса получаются в наложении когда просто на выходе меняешь косинус на синус!

Слушай, а где про эту розетку поподробнее прочитать можно? И еще мне интересно, как её на рублях раньше рисовали (без флэша :D )

veterok4 16.08.2005 14:30

ручками её делали раньше...
 
и заметьте, господа это ещё половина беды (сделать кнропку назад), труднее всего будет сделать трансформащию нарисованного - по типу фотошопа. чтоб можно было определённые углы вытягивать мышой!
и ещё вопрос в тему: у меня задаются только две точки - крайние, а анкер - на рандоме. как сделать так, чтоб можно три точки (первоначальные) задавать мышью, например, перемещая некие маленькие точки - которые и послужат координатами для кривой. перемещать я умею, но почему то прога не понимает переменные перемещённого мувика?

iNils 16.08.2005 14:41

Цитата:

Сообщение от veterok4
но почему то прога не понимает переменные перемещённого мувика?

интересно, действительно почему? :D
исходники нужны


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

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