Просмотр полной версии : атач мувика в нужное место
структура следующая
_root
|
mapCountry
|
mc
при наведение мышки на mc выполняется следующая функция:
function attachAndColorise(mc) {
_root.mapCountry[mc].createEmptyMovieClip("coloring", this.getNextHighestDepth(););
_root.mapCountry[mc].coloring.attachMovie(mc, mc+"_color", 1);
_root.mapCountry[mc].coloring.[mc]_color._x = _root.mapCountry[mc]._x;
_root.mapCountry[mc].coloring.[mc]_color._y = _root.mapCountry[mc]._y;
_root.mapCountry[mc].coloring.[mc]_color.setRGB(0x00CCFF);
_root.mapCountry[mc].coloring.[mc]_color._alpha = 75;
}
Тоесть создается еще один мувик внутри mc в него атачится из библиотеки мувик и для него меняется цвет и прозрачность, ну грубо говоря этакая подсветка объекта.
и что-то не хочет она работать, может это вред вчерашних вливаний, может еще что-нить, ну вообщем где-то вкралась ошибка. В чем - понять не могу. Просьба помочь.
что такое mc, который вы передаете параметром? строка или клип?
setRGB не есть метод MovieClip
если mc строчка то наверное
coloring.[ mc + '_color' ]._x
и вообще attachMovie и createEmptyMovieClip возвращают ссылку на мувиклип, которой пользоваться на пару порядков удобнее чем этой этажеркой, и для перформанса лучше.
вообще mc это строка которая является linkage id
setRGB да что-то меня не в ту степь понесло сча сделаю color object
вообщем по-моему мне поспать надо....
function attachAndColorise(target:MovieClip, id:String) {
var col = target.createEmptyMovieClip("coloring", target.getNextHighestDepth());
var mc = col.attachMovie(id, id+"_color", col.getNextHighestDepth());
mc._x = target._x;
mc._y = target._y;
mc.setRGB(0x00CCFF);
mc._alpha = 75;
}
attachAndColorise(_root.mapCountry.mc, "id")
PS: Не говоря о смысле.
udaaff, смысл понял, буду думать...
UPD: хм... не выходит каменный цветок.... нужно приатаченный мувик сделать однотонным и полупрозрачным.... а он не делается...
function attachAndColorise(target:MovieClip, id:String) {
var col = target.createEmptyMovieClip("color_mc", target.getNextHighestDepth());
var mc = color_mc.attachMovie(id, id, color_mc.getNextHighestDepth());
mc._x = target._x;
mc._y = target._y;
var colorise:Color = new Color(color_mc.mc);
colorise.setRGB(0xCC3300);
color_mc.mc._alpha = 75;
}
А в color_mc разве есть mc? Мое чутье подсказывает что тут надо что-то типа :
var col = target.createEmptyMovieClip("color_mc", target.getNextHighestDepth());
var mc = color_mc.attachMovie(id, id, color_mc.getNextHighestDepth());
mc._x = target._x;
mc._y = target._y;
var colorise:Color = new Color(color_mc[id]);
colorise.setRGB(0xCC3300);
color_mc[id]._alpha = 75;
или вместо жуткого color_mc[id] использовать локальную ссылку на клип т. е. mc
и снова не получается...
function attachAndColorise(target:MovieClip, id:String) {//for example: target = _root.mapCountry.AIA, id = AIA
//смысл: приатачить поверх мувика который выбран тот же самый мувик из библиотеки сделать его сплошным цветом и полупрозрачным, этакое выделение цветом.
var col = target.createEmptyMovieClip("color_mc", target.getNextHighestDepth());
var mc = color_mc.attachMovie(id, id, color_mc.getNextHighestDepth());
mc._x = target._x;
mc._y = target._y;
var colorise:Color = new Color(mc);
colorise.setRGB(0xCC3300);
mc._alpha = 75;
trace(mc); //выводит undefined
trace(mc._alpha);//выводит undefined
}
//выводит undefined - значит клипа то нет??
var col = target.createEmptyMovieClip("color_mc", target.getNextHighestDepth());
var mc = col.attachMovie(id, id, col.getNextHighestDepth());
Создали ссылку - с ней и работайте.
Кстати, клип создается пустой, нафиг нам лишняя операция:
var mc = col.attachMovie(id, id, 1);
нашел я ошибку... косяк с координатами:) всем спасибо.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.