PDA

Просмотр полной версии : нужен совет классы AS3


heartless
11.04.2011, 18:47
Суть: есть main.as class1.as class2.as в них описаны соответствующие классы (мейн это главный класс, а класс1 и класс2 имеют графические объекты, которые добавляются на сцену)

в мейн.ас объявлены 2 переменные каждого из классов к1 и к2, они создаются при запуске. Проблема такова: в методе класса1 нужно менять значение переменной объекта, созданного из класса2 тоесть переменной к2. Как быть? к2 объявлен в мейн.ас а в классе1 он вне зоны видимости

RaVeN-Nikma
11.04.2011, 18:50
Передай классу, ссылку на другой класс или лучше в родительском классе создай функция с которой будут общаться оба класса, а та уже будет менять нужные переменные.

heartless
11.04.2011, 18:53
а можете кусок кода показать?
как именно передавать в функцию ссылку

RaVeN-Nikma
11.04.2011, 19:03
На вскидку...

main.as
private var k1:MyClass = new MyClass1();
private var k2:MyClass = new MyClass2();

private function construct():void
{
k1.linkToOtherClass = k2;
}


MyClass1
public var linkToOtherClass:Object;

private function changeVarInClass2():void
{
linkToOtherClass.valueNum = 120;
}

MyClass2
public var valueNum:Number = 0;


Вызываешь в MyClass1 функцию changeVarInClass2() и переменная valueNum в MyClass2 меняется. Но мне этот вариант не очень, лучше чтобы все изменения контролировал родитель, а дети бы общались с другими через него

heartless
11.04.2011, 19:08
да, то что надо, спасибо.

ChuwY
11.04.2011, 19:49
Вот ответ на похожий вопрос. (http://www.flasher.ru/forum/showpost.php?p=968235&postcount=2)
Ловите в родителе событие от одного ребенка и дергаете метод второго.

etc
11.04.2011, 22:14
Название темы не отражает сути вопроса.