|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Обращение к Main из созданного объекта
Допустим у меня есть Main есть такой код:
package { import flash.display.Sprite; import flash.events.Event; /** * ... * @author LysoSutriN */ public class Main extends Sprite { public var s:uint = 10; public function Main():void { if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event = null):void { removeEventListener(Event.ADDED_TO_STAGE, init); var w:Window = new Window(); } public function test():void { trace('Функция в Main'); } } } Мне нужно из Window вызвать функцию test и получить переменную s. Как это можно сделать? Передавать функцию и переменную в качестве параметра, думаю, глупо.
__________________
Humanity.push(new Man()); |
|
|||||
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
package { import flash.display.Sprite; import flash.events.Event; /** * ... * @author LysoSutriN */ public class Main extends Sprite { public var s:uint = 10; public function Main():void { if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event = null):void { removeEventListener(Event.ADDED_TO_STAGE, init); var w:Window = new Window(this); } public function test():void { trace('Функция в Main'); } } } package { import flash.display.Sprite; /** * ... * @author LysoSutriN */ public final class Window extends Sprite { public function Window(main:Main) { main.test(); trace(main.s); } } } Но можно и через сеттер организовать Последний раз редактировалось goodguy; 08.12.2011 в 09:19. |
|
|||||
Конкретно в этом случае, как и во всех остальных, лучше подумать а нужно ли пытаться мейном управлять из какого-то там окна.
События никто не отменял. И есть куча вариантов чтоб этого избежать. Не ок это из подчиненного класса дергать управляющий.
__________________
Кто к нам с чем для чего - тот у нас того от того. |
|
|||||
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
Я думаю вопрос был общий, а не конкретно для главного класса во всех случаях. Но в общем да, согласен.
|
Часовой пояс GMT +4, время: 19:31. |
|
« Предыдущая тема | Следующая тема » |
|
|