Просмотр полной версии : вопрос про аттач клипа.
Привет всем! Буду признателен, если кто-нибудь ответит на следующий вопрос. Есть код:
_root.createEmptyMovieClip("some_mc", getNextHighestDepth());
add_btn.onRelease = function() {
var i:Number = random(100);
_root.some_mc.attachMovie("inObj","in"+i+"_mc",getNextHighestDepth(), {_x:5, _y:i*2-100}).some_txt.text="Some"+i;
}
addToRoot_btn.onRelease = function() {
var i:Number = random(100);
_root.attachMovie("inObj","in"+i+"_mc",getNextHighestDepth(), {_x:5, _y:i*2-100}).some_txt.text="Root"+i;
}
Почему при аттаче клипа в рут копий создается неограниченное кол-во, а при добавлении в созданый пустой клип они перезатираются?
_root.some_mc.attachMovie("inObj","in"+i+"_mc",i, {_x:5, _y:i*2-100}).some_txt.text="Some"+i;
или
_root.some_mc.attachMovie("inObj","in"+i+"_mc",some_mc.getNextHighestDepth(), {_x:5, _y:i*2-100}).some_txt.text="Some"+i;
спасибо!
а на какой слой будут клипы грузиться, на тот на котором скрипт выполняется? можно ли это как-то явно указать?
Бармалей
23.08.2005, 13:06
при аттаче ты работаешь не совсем со слоями, а со стеками.
указать явно можно - вместо getNextHighestDepth() пиши номер стека.
мувик, загруженный в стек 2, будет выше чем мувик в стеке 1.
про стеки понятно.
однако была задумка грузить клипы на основе Xml, а что бы не вылазили за пределы окна, помещать их под маску и скролить.
видно придется пустой клип создавать не динамически, а сразу на нужном слое и в него аттачить... я правильно мыслю?
Бармалей
23.08.2005, 13:37
ага, some_mc помещаешь на поле, аттачишь к нему все что нужно, и сверху все это накрываешь маской.
Сделал, вот как-то так:
addFor_btn.onRelease = function() {
for(var i:Number = 0;i<10;i++){
temp_mc = _root.some_mc.attachMovie("inObj","in"+i+"_mc",some_mc.getNextHighestDepth());
temp_mc._x = 50;
temp_mc._y = i*60-200;
temp_mc.some_txt.text="For"+i;
}
}
И вродебы все зашибись, но текст динамическому текстовому полю, находящемуся внутри приаттачиваемого клипа перестал присваиваться, а раньше присваивался... Что я не так делаю?
Бармалей
23.08.2005, 14:00
попробуй
_root.some_mc["in"+i"_mc"]._x = 50;
_root.some_mc["in"+i"_mc"]._y = i*60-200;
_root.some_mc["in"+i"_mc"].some_txt.text="For"+i;
не выходит... причем она текст-то присваивает, вроде, как твоим так и моим способом, но не отображает.
for(var i:Number = 0;i<10;i++){
temp_mc = _root.m1_mc.attachMovie("inObj","in"+i+"_mc",m1_mc.getNextHighestDepth());
temp_mc._x = 0;
temp_mc._y = i*60;
temp_mc.some_txt.text="For"+i;
temp_mc.onRelease = function(){
trace(this.some_txt.text);
}
}
Когда тычешь на приаттаченые клипы - показывает правильные значения.
А в поле не отображает :(
Если интересно - вот, собственно, этот пример:
более того, самое интересное, что если это поле выделись и скопировать, то в буфер нуждый текст копируется...
такое впечатление что текст там есть, но его почему-то не видно...
Бармалей
23.08.2005, 14:52
тут дело в том, что чтобы управлять параметром _alpha а так же, по моему, маскировать текст, текст нужно разбить в кривые и импортнуть его как шрифт. Не спрашивай как это делается - я сам еще не знаю. Есть выход сделать some_txt отдельно от some_mc и аттачить его над слоем с маской.
DeadMorozz
23.08.2005, 15:42
Чтобы динамический текст был виден под маской -- его не стоит битьв кривые. надо просто включить в динамическое поле нужные символы с помощью рульной кнопочки "Characters...", где в менюхе надо потом выбрать нужные группы символов или ввести туда нажные значки ручками.
Бармалей
23.08.2005, 15:45
Чтобы динамический текст был виден под маской -- его не стоит битьв кривые. надо просто включить в динамическое поле нужные символы с помощью рульной кнопочки "Characters...", где в менюхе надо потом выбрать нужные группы символов или ввести туда нажные значки ручками.
ага, я тоже только что с этим разобрался :)
шайтан. заработало! спасибо!
а почему так, можно где нибудь прочитать? хочется понимания...
А ты для текста в Character... поставь точку Specify Ranges и выдели нужные наборы
Бармалей
23.08.2005, 15:58
Можешь здесь (http://www.flasher.ru/forum/showthread.php?threadid=56278) или здесь (http://www.flasher.ru/forum/showthread.php?threadid=56806) почитать, а вообще F1, Мук, Гурский.
глюканул браузер
думал сообщение не прошло ;)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.