Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   нужен совет классы AS3 (http://www.flasher.ru/forum/showthread.php?t=154028)

heartless 11.04.2011 18:47

нужен совет классы AS3
 
Суть: есть 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
Код AS3:

private var k1:MyClass = new MyClass1();
private var k2:MyClass = new MyClass2();
 
private function construct():void
{
k1.linkToOtherClass = k2;
}


MyClass1
Код AS3:

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

MyClass2
Код AS3:

public var valueNum:Number = 0;


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

heartless 11.04.2011 19:08

да, то что надо, спасибо.

ChuwY 11.04.2011 19:49

Вот ответ на похожий вопрос.
Ловите в родителе событие от одного ребенка и дергаете метод второго.

etc 11.04.2011 22:14

Название темы не отражает сути вопроса.


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

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