Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   addChild с экземпляра класса (http://www.flasher.ru/forum/showthread.php?t=143784)

kitsela 25.08.2010 17:05

addChild с экземпляра класса
 
уважаемые программисты помогите плиз
Суть проблемы в следующем, нужно с экземпляра класса вывести на сцену progressBar. Пишу следующий код, ошибок не выдает, но на сцене пусто:eek:
вот код
Код AS3:

package classs
{
        import flash.display.Sprite;
 
        import mx.controls.Alert;
        import mx.controls.ProgressBar;
        public class Example extends Sprite
        {
                public function Example()
                {
 
                Alert.show("Работает");    //виводитса только ето
 
 
                var pb:ProgressBar = new ProgressBar();
                pb.visible= true;
                pb.x = 0;
                pb.y = 0;
                stage.addChild(pb);        //addChild(pb);  тоже не работает
 
 
                }
 
        }
}

визов класа
Код AS3:

 var pba:Example = new Example();


alatar 26.08.2010 15:42

Код AS3:

var pba:Example = new Example();
addChild(pba);


kitsela 26.08.2010 17:20

почемуто не работает

alatar 26.08.2010 18:11

Потому что stage в конструкторе не доступен.
Код AS3:

stage.addChild(pb);

Постарайтесь объясняться яснее, "почему-то не работает" не особо говорит в чем проблема.

kitsela 27.08.2010 19:05

постараюсь объяснять яснее,
сейчас пришлось немного модернизировать код и снова наткнулся на проблемки
и так попорядку
на сцене отображаю экземпляр класса

Код AS3:

 var pB:Progress = new Progress();
        pB.x = 300;
        pB.y = 500;
        addChild(pB);

вот собственно сам класс
Код AS3:

// ActionScript file
package torrentssearch.searchClass.progress{
import mx.controls.Alert;
import mx.controls.ProgressBar;
import mx.core.UIComponent;
public class Progress extends UIComponent{
 
public static var pb:ProgressBar = new ProgressBar();
 
public function Progress()
{
Alert.show("Работает")
}
 
override protected function createChildren() : void
{
        super.createChildren();
        pb.visible= false;
        this.addChild(pb)
}
 
 
//смена екземпляров класа
public function setV(v:Boolean, n:Number):void{
pb.setProgress(n, 100);
pb.visible =v
pb.label = 'qwerty';
 
}
 
}
}

потом нужно с еще одного класса изменять содержимое экземпляра
на сцене, сейчас работает
Код AS3:

                var pBsmena:Progress = new Progress();
                pBsmena.setV(true, 50);

только вот 1 проблемка, я могу поменять свойства visible и label
а метод
setProgress () не меняєтса......подскажите почему меняютса свойства и не меняютса методи?

alatar 27.08.2010 23:39

Цитата:

подскажите почему меняютса свойства и не меняютса методи?
Потому что прежде чем писать код, полезно сначала почитать.
См. ProgressBar#mode

kitsela 28.08.2010 01:56

alatar , большое Вам СПАСИБО, sorry за глупий вопрос


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

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