Форум 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=68245)

dexoid 23.08.2005 12:37

вопрос про аттач клипа.
 
Привет всем! Буду признателен, если кто-нибудь ответит на следующий вопрос. Есть код:
Код:

_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;
}

Почему при аттаче клипа в рут копий создается неограниченное кол-во, а при добавлении в созданый пустой клип они перезатираются?

as_68 23.08.2005 12:53

Код:

_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;

dexoid 23.08.2005 12:58

спасибо!
а на какой слой будут клипы грузиться, на тот на котором скрипт выполняется? можно ли это как-то явно указать?

Бармалей 23.08.2005 13:06

при аттаче ты работаешь не совсем со слоями, а со стеками.
указать явно можно - вместо getNextHighestDepth() пиши номер стека.
мувик, загруженный в стек 2, будет выше чем мувик в стеке 1.

dexoid 23.08.2005 13:31

про стеки понятно.
однако была задумка грузить клипы на основе Xml, а что бы не вылазили за пределы окна, помещать их под маску и скролить.
видно придется пустой клип создавать не динамически, а сразу на нужном слое и в него аттачить... я правильно мыслю?

Бармалей 23.08.2005 13:37

ага, some_mc помещаешь на поле, аттачишь к нему все что нужно, и сверху все это накрываешь маской.

dexoid 23.08.2005 13:47

Сделал, вот как-то так:
Код:

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;

dexoid 23.08.2005 14:28

Вложений: 1
не выходит... причем она текст-то присваивает, вроде, как твоим так и моим способом, но не отображает.

Код:

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);
        }
}

Когда тычешь на приаттаченые клипы - показывает правильные значения.
А в поле не отображает :(

Если интересно - вот, собственно, этот пример:

dexoid 23.08.2005 14:47

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


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

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