Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как обратиться к символу в символе?? (http://www.flasher.ru/forum/showthread.php?t=144949)

Antonio 25.09.2010 21:55

Как обратиться к символу в символе??
 
Всем привет! Вопрос по AS3....пол дня не могу разобраца с такой простой ситуацией!! помогите кто может!!
Есть символ к примеру "kvadrat", внутри него движущийся объект слева направо "kvadratik"- тоже символ, как мне через kvadrat дать команду stop(); kvadratik??
запись "kvadrat.kvadratik.stop(); " не работает... а как иначе?

samana 25.09.2010 22:02

Код:

kvadrat.kvadratik.stop()
скорее всего не работает, потому что вы не назначили эти имена экземплярам на сцене, а не только в библиотеке. Или возможно есть ещё код, который мы не увидели, а в нем какая то логическая ошибка.

КорДум 25.09.2010 22:04

getChildByName

Antonio 25.09.2010 22:13

оперативная работа))) очень приятно!! ща попробую последовать вашим советам!

Хомяк 25.09.2010 22:14

С точки зрения языка kvadratik не вложен в kvadrat. Поэтому - kvadratik.stop(). Конечно, если он связан с Action соответствующим образом.

Antonio 25.09.2010 22:30

не работает(( .. совсем запутался.. Вот смотрите: во влеше есть объект Kvadrat в нем бегает Kvadratik оба они символы и линкованы как классы..при такой записи
package
{
import flash.display.Sprite;
import flash.display.MovieClip;

public class Sample extends Sprite
{
private var kvadrat:Kvadrat = new Kvadrat();
//private var kvadratik:Kvadratik = new Kvadratik();

public function Sample()
{
addChild(kvadrat);
kvadrat.kvadratik.stop();//???
}
}
}
kvadratik не останавливаеца, его нельзя считать свойством kvadrata что ли?

Хомяк 25.09.2010 22:37

Если ракомментируете строку присвоения переменной символа Kvadratik(), то должны смочь управлять прямо: kvadratik.stop().
А если оформите код в своем посте соответствующим образом, возможно, не получите едкого замечания от админа :)

Antonio 25.09.2010 22:51

Код AS3:

package
{
        import flash.display.Sprite;
        import flash.display.MovieClip;
 
        public class Sample extends Sprite
        {
                private var kvadrat:Kvadrat = new Kvadrat();
                private var kvadratik:Kvadratik = new Kvadratik();
 
                public function Sample()
                {
                        addChild(kvadrat);
                        kvadratik.stop();//???
                }
        }
}

но он все равно продолжает проигрываться...

Добавлено через 2 минуты
как getChildByName применить сюда..:wacko:

samana 25.09.2010 23:08

А где тут вложенность клипов, я не вижу? Квадрат то вы создали на сцене, а квадратик только объявили. Где
Код AS3:

kvadrat.addChild(kvadratik)

?
Если сам символ квадрат в библиотеке уже содержит в себе ребёнка квадратик, то в вашем классе не надо квадратик создавать ещё раз, он уже и так там есть.
Может исходник дадите посмотреть, только не для cs5

Antonio 25.09.2010 23:14

:( у меня к сожалению cs5
вот пожалуйста..
Код AS3:

package
{
        import flash.display.Sprite;
        import flash.display.MovieClip;
 
        public class Sample extends Sprite
        {
                private var kvadrat:Kvadrat = new Kvadrat();
                private var kvadratik:Kvadratik = new Kvadratik();
 
                public function Sample()
                {
                        addChild(kvadrat);
                        kvadrat.addChild(kvadratik);
                        kvadratik.stop();//???
                }
        }
}

так тож не останавливается ..кошмар какой то..


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

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