PDA

Просмотр полной версии : проблема с вызовом функции


Vansimar
22.09.2011, 16:54
у меня есть класс 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 секунд
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
LB:LifeBar = new LifeBar();
addChild(LB);
LB.setValue(50);

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

lifeBar_MC.setValue(50);

Вариант 3

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

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

Vansimar
22.09.2011, 19:20
Спасибо__)я уже сделал по другому)