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

Vansimar 22.09.2011 16:54

проблема с вызовом функции
 
у меня есть класс
Код AS3:

package src
{
        import src.*;
 
        import flash.display.MovieClip;
 
 
        public class LifeBar extends MovieClip
        {
                var money:int;
                public function LifeBar():void
                {
                        //this = money;
                        //setValue(money);
                }
 
                public function setValue(s:int):void
                {
 
                  this.TxtMoney.text = String(s);        //в библиотеке лежит мувик с линкейджем src.LifeBar
                }
        }
 
}

вызываю его в Main - входная точка, var LB:LifeBar = new LifeBar();
LB.setValue(50); но ничего не происходит,подскажите почему?

in4core 22.09.2011 16:55

ну и пускай лежить себе...а на сцену кто его добалять будет?

Vansimar 22.09.2011 17:02

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

in4core 22.09.2011 17:05

если дал инстенс нейм то

name.setValue(50)

А вы щас создаете новый экземпляр

Vansimar 22.09.2011 17:09

а так ошибка вылетает Access of undefined property LifeBar_mc.

Добавлено через 30 секунд
Код AS3:

LifeBar_mc.setValue(50);


TanaTiX 22.09.2011 17:26

Вам говорят, что LifeBar_mc отсутствует.

Vansimar 22.09.2011 17:30

ну он же на сцене лежит

Bgg 22.09.2011 17:33

Может уже стоит задуматься над тем, что то что вы видите глазами не должно быть видимым программно? Уже конец недели скоро, а вы все ищите тоже самое.

Vansimar 22.09.2011 17:37

ищу,хочу разобраться в этом,но я до сих пор не понял как проверить есть ли он на сцене,как к нему обратиться...я уже совсем отчаялся в поисках ответа...этот дурацкий LifeBar_mc виден с главного класса Main,а с других классов не виден..и я не могу понять почему..пересмотрел всего Колина Мука,форум обшарил ,гуглил..но ответов не нашел....

tofflife 22.09.2011 18:26

Вариант 1
Код AS3:

LB:LifeBar = new LifeBar();
addChild(LB);
LB.setValue(50);

Вариант 2
Если LifeBar уже есть на сцене, в поле Instance прописать lifeBar_MC. Далее в нужной точке кода прописать вместо конструктора вот это:
Код AS3:

lifeBar_MC.setValue(50);

Вариант 3

Код AS3:

import flash.display.MovieClip;
 
 
        public class LifeBar extends MovieClip
        {
 
                public function LifeBar():void
                {
                        addChild(textMoney);
                }
 
                public function setValue(value:int):void
                {
 
                  m_textMoney.text = String(value);       
                }
                private var m_textMoney:TextField = null;
        }

Код AS3:

lifeBar:LifeBar = new LifeBar();
addChild(lifeBar);
lifeBar.setValue(50);



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

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