Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.07.2006, 22:58
beng вне форума Посмотреть профиль Отправить личное сообщение для beng Найти все сообщения от beng
  № 11  
Ответить с цитированием
beng

Регистрация: Jul 2006
Сообщений: 11
Цитата:
Сообщение от __i
Код:
_root.region1.onMouseOver = function (){
this.gotoAndStop('fill');
}
А по-подробней можно, в частности про вторую строку

Старый 24.07.2006, 23:21
beng вне форума Посмотреть профиль Отправить личное сообщение для beng Найти все сообщения от beng
  № 12  
Ответить с цитированием
beng

Регистрация: Jul 2006
Сообщений: 11
Цитата:
Сообщение от wvxvw
Простой - добавляй во время движения мыши в клип-маску исходный клип-кисть (не важно, как именно, дублируя, аттача или рисуя програмно).
А можно пример аттача?

Старый 25.07.2006, 07:17
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 13  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Вложение 14829
Код:
import flash.geom.*

var _l1:MovieClip = _root.createEmptyMovieClip("canvas_mc", 0);
var _l2:MovieClip = _root.createEmptyMovieClip("mask_mc", 10);
var _l3:MovieClip = _root.createEmptyMovieClip("gradient_mc", 5);
with (gradient_mc) 
{
    colors = [0xFF0000, 0x0000FF];
    fillType = "radial"
    alphas = [100, 100];
    ratios = [0, 0xFF];
    spreadMethod = "reflect";
    interpolationMethod = "linearRGB";
    focalPointRatio = 0.9;
    matrix = {a:200, b:0, c:0, d:0, e:200, f:0, g:200, h:200, i:1};
    beginGradientFill(fillType, colors, alphas, ratios, matrix, spreadMethod, 
interpolationMethod, focalPointRatio);
    moveTo(0, 0);
    lineTo(500, 0);
    lineTo(500, 500);
    lineTo(0, 500);
    lineTo(0, 0);
    endFill();
}

_l1.beginFill(0x112233, 50);
_l1.moveTo(0, 0);
_l1.lineTo(0, 500);
_l1.lineTo(500, 500);
_l1.lineTo(500, 0);
_l1.lineTo(0, 0);
_l1.endFill();

_l2.attachMovie("brush", "brush_mc", _l2.getNextHighestDepth(), {_x:-20, _y:-20});
_l3.onMouseMove = function(){
	var _l4:Number = 0;
	_l2.attachMovie("brush", "brush"+_l4+"_mc", _l2.getNextHighestDepth()+_l4, {_x:this._xmouse, _y:this._ymouse});
		_l4++;
}
_l3.setMask(_l2);
*в библиотеке нужно создать клип-кисточку и присвоить ему идентификатор экспорта 'brush'
* вместо клипа с градиентом - ваша картинка.
* увы, такой мувик после долгого проигрывания подвесит плеер... есть конечно варианты решения... но муторно, да и не особо-то нужно, с пивом и так покатит =)
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 27.04.2008 в 22:15.
Старый 25.07.2006, 07:33
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 14  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Цитата:
Сообщение от __i
Код:
_root.region1.onMouseOver = function (){
this.gotoAndStop('fill');
}
Да, вобщем, тоже вариант =) и не плодит кучу клипов, но менее реалистичный =)
__________________
Hell is the possibility of sanity

Старый 25.07.2006, 08:28
beng вне форума Посмотреть профиль Отправить личное сообщение для beng Найти все сообщения от beng
  № 15  
Ответить с цитированием
beng

Регистрация: Jul 2006
Сообщений: 11
Заменил градиент на картинку "back", но почему-то все очень медленно рисуется:
Код:
var _l2:MovieClip = _root.createEmptyMovieClip("mask_mc", 10);

_l2.attachMovie("brush", "brush_mc", _l2.getNextHighestDepth(), {_x:-20, _y:-20});
_root.back.onMouseMove = function(){
	var _l4:Number = 0;
	_l2.attachMovie("brush", "brush"+_l4+"_mc", _l2.getNextHighestDepth()+_l4, {_x:this._xmouse, _y:this._ymouse});
		_l4++;
}
_root.back.setMask(_l2);

Старый 25.07.2006, 15:45
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 16  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
эээ... ну не знаю, сколько онмаузмув вызывается - столько и должен рисовать
__________________
Hell is the possibility of sanity

Старый 25.07.2006, 15:59
beng вне форума Посмотреть профиль Отправить личное сообщение для beng Найти все сообщения от beng
  № 17  
Ответить с цитированием
beng

Регистрация: Jul 2006
Сообщений: 11
Я к тому, что я просто видимо что-то не правильно сделал.
Вложения
Тип файла: rar movable_mask2.rar (81.2 Кб, 36 просмотров)

Старый 25.07.2006, 17:49
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 18  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
хех, а как ты собираешся вызывать онмаузмув над клипом, который ты не видишь? =) (ты ж накладываешь маску на клип с картинкой, после чего он практически исчезает =) положи поверху картинки еще один клип (тот, который с карандашным рисунком), вот у него и нужно слушать онмаузмув =)
__________________
Hell is the possibility of sanity

Старый 25.07.2006, 21:09
beng вне форума Посмотреть профиль Отправить личное сообщение для beng Найти все сообщения от beng
  № 19  
Ответить с цитированием
beng

Регистрация: Jul 2006
Сообщений: 11
Почему, все правильно. Т. к. маска наложена на картинку, она не будет вначале видна, но при движении мышки над ней она будет как бы вырисовываться. Если еще вниз положить картинку с карандашным рисунком - как раз и получается эффект раскрашивания.
Ошибка была в другом, в строке
Код:
_l2.attachMovie("brush", "brush"+_l4+"_mc", _l2.getNextHighestDepth()+_l4, {_x:this._xmouse, _y:this._ymouse});
		_l4++;
надо было заменить this._xmouse и this._ymouse на _root.xmouse и _root.ymouse соответственно.

Всем спасибо, итоговый получившийся код:
Код:
var myMask:MovieClip = _root.createEmptyMovieClip("mask_mc", _root.getNextHighestDepth());

myMask.attachMovie("brush", "brush_mc", myMask.getNextHighestDepth(), {_x: -100, _y: -100});

_root.back.onMouseMove = function() {
	myMask.attachMovie("brush", "brush_mc", myMask.getNextHighestDepth(), {_x: _root._xmouse, _y: _root._ymouse});
}

_root.back.setMask(myMask);

Mouse.hide();

_root.brush2.onMouseMove = function() {
	this._x = _root._xmouse;
	this._y = _root._ymouse;
}

Старый 28.07.2006, 16:36
beng вне форума Посмотреть профиль Отправить личное сообщение для beng Найти все сообщения от beng
  № 20  
Ответить с цитированием
beng

Регистрация: Jul 2006
Сообщений: 11
Не все так просто оказалось =)
1) Некоторые браузеры не показывают телефон вверхну флешки (http://expert-office.ru/), в частности Explorer. Телефон - это Dynamic Text с фильтром Blur
2) Не получается убрать кисточку с рисунка, после того как мышка покинула пределы флешки

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:06.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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