Форум 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)
-   -   Эффект стирательной резинки (http://www.flasher.ru/forum/showthread.php?t=81097)

Mattie 12.06.2006 16:09

Эффект стирательной резинки
 
Вложений: 1
не получается реализовать этот эффект:

1)

есть слой с текстом
выше слой с серым квадратиком, который закрывает собой этот текст - это кнопка, к которой вот такой скрипт привязан:
Код:

on (press)
{

lineStyle(17, 0xFF0000, 69);
moveTo(_xmouse, _ymouse);
onMouseMove = function() {
lineTo(_xmouse, _ymouse);
updateAfterEvent();
}
}

как сделать так, чтобы эта линия не рисовалась, а убирала с движением мышки серый квадратик (эффект стирательной резинки), и становился виден текст?

2)

другой вариант:

есть слой с текстом, его прикрывают куча квадратиков - это муви_клипы, сгенерированные с помощью duplicateMovieClip

- они внутри себя содержат кнопку с таким action:
Код:

on (rollOver) {
       
        if (_root.flag_pressed == true) {
                _visible = false;
                }
}
on (press) {
        _visible = false;
    _root.flag_pressed = true;
        }
       
on (release) {
        _root.flag_pressed = false;
}

а в корне, в первом кадре, соответственно:
Код:

_root.flag_pressed = false;
onMouseUp = function()
{
        flag_pressed = false;
}
onMouseDown = function()
{
        flag_pressed = true;
}

amount = 20;

for( i=0; i<10;i++ )
{
  j=1;
 
  while (amount>0) {
                duplicateMovieClip (_root.pix, "pix"+j, j);
                setProperty ("pix"+j, _x, (_root.pix._x+j*10));
                setProperty ("pix"+j, _y, (_root.pix._y));
               

                amount--;
                j++;
        }
}

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

попытки приаттачены в виде .fla файла.

...может класс описать надо?

спасибо

iNils 12.06.2006 16:16

1. Раздел AS3 не для вас. Перенес.
2. Оформите ваш код в теги [ code] [/code] самостоятельно, иначе ваша тема будет закрыта.

Господа отвечающие, дождитесь пожалуйста перед вашим ответом, пока товарищ начнет уважать нас и выполнит мое пожелание в пункте 2.

Mattie 12.06.2006 16:36

нет вопросов, извиняйте... :)

VIO 12.06.2006 17:34

так.... несколько вопросов....
1. напиг запускаешь рисование при нажатии на квадратик? так задумано разве?
2. как именно тебе надо что б убирались дублированные квадраты твои - при наведении на них курсора или при наведении+клике?

а пока жду ответа - сделаю так - рисование уберу.... и сделаю что б при нажатой левой кнопке убирались они......

Mattie 12.06.2006 17:49

1. была мысль, что можно сделать эту линию с прозрачностью 100% и тогда она бы "стирала" с движением мышки при зажатой левой кнопке.

2. при наведении на них курсора мыши, при зажатой кнопке мышки. точно так, как ты делаешь... ну как работает "стирательная резинка"

Homo Sapiens 12.06.2006 18:17

Я такое делал. С помощью масок, разумеется

Mattie 12.06.2006 18:25

ну разумеется... :)

а можно, так сказать в общих чертах, понять КАК?

а то я совсем замучился с этой траблой.

непонятно как с помощью масок можно "стереть" серый слой над картинкой или текстом...

Homo Sapiens 12.06.2006 18:40

Как вариант
Код:

var mask:MovieClip = this.createEmptyMovieClip("mask", 1);
data.setMask(mask);

this.count = 0;
this.onMouseMove = function()
{
        if(ASnative(800, 2)(1))
        {
                mask.attachMovie("window", "window" + (this.count++), count + 1, {_x:_xmouse, _y:_ymouse});
        }
}

data - скрытое содержание
window - кружочек, который будет приоткрывать содержание

iNils 12.06.2006 19:37

Вложений: 1
Я бы примерно так сделал

Mattie 12.06.2006 20:09

Люди! я очень благодарен! Большое списибо, проблема решена.


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

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