Просмотр полной версии : Два и более masked MC, управляемые AS
Посмотрел поиском...дофига всего про маски...но все-равно непонятно...
В МХ решил разобраться...
Есть слой mask, есть слой MASKED (под маской)...в слое MASKED управляемый MC (двигается, меняет размеры, прозрачность)
- все нормально работает...
Хочу добавить второй оъект на слой MASKED_1 и тоже им управлять...по идее два управляемых MC должны по-разному двигаться...(у них разные параметры трансформации)...
...нифига...двигаются ОДИНАКОВО...с пораметрами трансформации MC на слое MASKED_1...
...MASKED слои задавал как коммандой setmask...так и вручную...вообще по-разному пробовал - не получается...
...объясните в чем дело...
DeliMIter
18.06.2002, 22:50
Трейси, должно работать. Гляну - расскажу подробнее.
я завтра исходничек кину...хотя я думаю с такой фишкой не только я сталкивался...
у меня там примерно так...(могу наврать с синтексисом...)
...все в первом кадре...
masked.setmask(mask)
masked_1.setmask(mask)
MovieClip.prototype.transform = function (x, width, alpha) {
....
....
....
}
masked.onEnterFrame() {
this.transform (50,700,30);
}
masked_1.onEnterFrame() {
this.transform (100,300,80);
}
Вот, собственно исходник...чуть подправленный...чтото с одной маской вообще не получилось...
Для примера я закомментарил скрипт для движения второго МС(рамки)...чтобы было видно, что двигаться они должны по-разному...
Nataliek
20.06.2002, 12:35
Esli mozno savani file dlya Flash5 toze, yu menya ne MX ne Flash5 file ne otkrivaut !!! :rolleyes:
Исходник для Flash 5, но не рабочий...так как в MX подругому с соытиями...но код посмотреть можно...
DeliMIter
20.06.2002, 16:11
Короче слушайте все, и не говорите, что не слышали!
1. Видел несознательный возглас про пятерку, под Flash 5 есть ТОЛЬКО послоевые маски.
2. Для эмыкса существует следующее правило: одна маска - один маскируемый клип (причем ЭТО прописано в хелпе). Т.е. если нужно, чтобы под маской было два клипа, нужно создать контейнер, и через него управлять клипами, тогда все работает.
Вот и все. А шуму-то...
Nox Noctis
20.06.2002, 16:18
Оригинал написал(а) DeliMIter
Видел несознательный возглас про пятерку, под Flash 5 есть ТОЛЬКО послоевые маски
...я вам больше скажу - возглас этот вполне сознательный и звучал со стороны макромедии :)
http://www.macromedia.com/support/flash/ts/documents/mask_follow_guide.htm
Ну ты посмотри исходник....там две маски и два маскируемых клипа...
Mask
Masked
Mask1
Masked1
Контейнер - мувик, а в нем другие мувики, которыми управлять?
В пятерке я кинул только потому, что человек с МХ не мог открыть мой файл в MX сделаный и в MX сохраненный...
Кстати помоему можно вкладывать одни маски в другие
Mask
Masked
Masked1
Где Masked - маскируемый и одновременно маска для Masked1
Интересно попробовать программно, и еще - устанавливать программно маску можно, а снимать/менять на другую?
А маски-то тут при чем? Осторожнее надо быть с глобальными переменными. Про область видимости не забывать, все такое... Код ниже, вроде везде this. вставил, но проверьте там...
MovieClip.prototype.fade = function(max_fade,min_fade,max_by,min_by) {
this.fade_index = this._alpha;
if (this.fade_index >= max_fade) this.fade_by = -1*max_by;
if (this.fade_index <= min_fade) this.fade_by = min_by;
this.fader += this.fade_by;
this._alpha = this.fader;
}
MovieClip.prototype.movie = function(max_x,min_x,max_by,min_by) {
this.movie_index = this._x;
if (this.movie_index >= max_x) this.movie_by = -1*max_by;
if (this.movie_index < min_x) this.movie_by = min_by;
this.movier += this.movie_by;
this._x = this.movier;
}
MovieClip.prototype.MCwidth = function(max_width,min_width,max_by,min_by) {
this.width_index = this._width;
if (this.width_index >= max_width) this.width_by = -1*max_by;
if (this.width_index < min_width) this.width_by = min_by;
this.widther += this.width_by;
this._width = this.widther;
}
Спасибо, действительно....по-разному пробовал - в итоге забыл поменять все переменные...
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.