![]() |
Воздействие методов класса на объекты в Main
Как сделать так, чтоб методы класса могли воздействовать на объекты в Main. Вот такой код у мня получился ...
Класс Button Код AS3:
Код AS3:
|
Цитата:
Нормальный выход из ситуации - заставить Main слушать события кнопки, и по событию клика выводить в text1 информацию. Вы заставляете кнопку слушать саму себя. Это само по себе не может считаться ошибкой, но мэйн ничего не будет знать о том, что происходит с кнопкой, нафик она такая кнопка, спрашивается? Тут как бы простая логика, Я, мэйн, даю пользователю кнопку, чтобы он на нее нажал, и слушаю, когда он это сделает. Чтобы отреагировать на клик соответственно логике, которую я, мэйн, знаю. Кнопка - это просто элемент интерфейса, ее задача в подавляющем большнстве случаев - уведомить родителя о том, что на нее нажали и все. Замечу, что держать всю логику приложения в одном классе Main - не самая удачная идея, если приложение не "просто поиграться с классами". Оу... кажись опять маячит на горизонте MVC :) |
Ну я попробовал перенести слушатель событие в Маин
Код AS3:
Не держать всю логику программы в Main ... эт как? |
PHP код:
Добавлено через 4 минуты Если вы не поняли принципы ООП, которые я вам попытался объяснять из прошлой темы про текстовое поле, объясню на этом примере. Есть у вас меню в игре. В нём содержится экземпляр класса кнопки, который вы написали для этой программы. Это уже другое приложение, поэтому здесь нет никаких текстовых полей в классе Main. А кнопка лезет в Main и пытается изменить там какое-то значение, которого даже нет. К чему это? Кнопка должна выполнять функционал кнопки. Она должна нажиматься, отжиматься и быть DisplayObjectContainer'ом. Всё. Больше ей ничего не нужно знать. Это класс Main должен знать, что должно произойти при нажатии на добавленную в него кнопку. |
Ну так тем кодом я и пытался сделать, чтоб класс знал, что должно произойти. Создал слушатель клика для объекта button из пользовательского класса Button ну и функцию, какую он вызывает, взял из того же класса. А как надо было это написать правильно?
|
Никого вообще не смутило, что у него слушатель MouseEvent к битмапу добавляется?
|
Код AS3:
Код AS3:
|
То есть функция, которую вызывает слушатель, обязательно должна быть в Мейне (то есть в том же файле, что и сам слушатель). И нельзя из Мейна вызвать слушателем функцию из класса?
Добавлено через 43 минуты Ну вот я переделал по вашему образцу Код AS3:
Код AS3:
и что вообще значит это написание через точку в ретурне? |
Ай, прокололся.
Код AS3:
|
Где заменить?
|
| Часовой пояс GMT +4, время: 19:31. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.