Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Закрытая тема
Старый 14.02.2014, 22:54
ashkart вне форума Посмотреть профиль Отправить личное сообщение для ashkart Найти все сообщения от ashkart
  № 1  
ashkart
 
Аватар для ashkart

Регистрация: Feb 2014
Сообщений: 15
Question Изменение свойств объектов из экземпляра другого класса

Привет всем!
вопрос по теме:

имею конструкцию с классом и, скажем, переменной, которые являются разными "ветками" в Main:

Код AS3:
public class Main extends Sprite 
	{
		private static var stageRef:Stage;
		public var obj:MyClass = new MyClass;
                public var something:Numbers = 0;
 
		public function Main():void 
		{
 
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
 
		}
 
		private function init(e:Event = null):void 
		{
			stageRef = this.stage;
                        addChild(obj);
............................................
................}
...}
Класс MyClass (extends MovieClip) должен получить доступ к переменной something и изменить ее. Передавать переменную в метод класса не вариант, тк таких будет очень много в программе. То бишь задача - именно получить доступ в главный класс программы и менять в ней свойства любых объектов, будь то переменная или целый класс.
Как это сделать?

Старый 14.02.2014, 23:49
samana вне форума Посмотреть профиль Отправить личное сообщение для samana Найти все сообщения от samana
  № 2  
samana
 
Аватар для samana

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Что-бы свойство или метод класса были доступны отовсюду, то сделайте их
Код AS3:
public static
Тогда доступ к ним будет через имя класса, например
Код AS3:
Main.obj

Старый 15.02.2014, 11:37
ashkart вне форума Посмотреть профиль Отправить личное сообщение для ashkart Найти все сообщения от ashkart
  № 3  
ashkart
 
Аватар для ashkart

Регистрация: Feb 2014
Сообщений: 15
samana, cпасибо, добрый человек! кратко и исчерпывающе.
Все получилось.

Кстати, такое взаимодействие считается хорошим тоном программирования или в общем случае стоит избегать такой "паутины" в коде?

Старый 15.02.2014, 12:44
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 4  
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
После постановки такой задачи -
Цитата:
именно получить доступ в главный класс программы и менять в ней свойства любых объектов, будь то переменная или целый класс.
- можно что-то говорить о хорошем тоне программирования? Просто не показывайте это никому и если продадите, ни в коем случае не соглашайтесь на поддержку.
__________________
Reality.getBounds(this);

Старый 15.02.2014, 12:47
ashkart вне форума Посмотреть профиль Отправить личное сообщение для ashkart Найти все сообщения от ashkart
  № 5  
ashkart
 
Аватар для ashkart

Регистрация: Feb 2014
Сообщений: 15
Wolsh, тогда что являлось бы хорошим тоном в такой ситуации?

Старый 15.02.2014, 17:47
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 6  
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Иерархия логики например. Чтобы солдат на Восточном фронте воевал в своем окопе, а не приказывал Центральному Штабу, что делать на Западном.
__________________
Reality.getBounds(this);

Старый 15.02.2014, 23:54
ashkart вне форума Посмотреть профиль Отправить личное сообщение для ashkart Найти все сообщения от ashkart
  № 7  
ashkart
 
Аватар для ashkart

Регистрация: Feb 2014
Сообщений: 15
Цитата:
Сообщение от Wolsh Посмотреть сообщение
Иерархия логики например. Чтобы солдат на Восточном фронте воевал в своем окопе, а не приказывал Центральному Штабу, что делать на Западном.
Логично.
Но я не знаю иных способов из экземпляра одного класса вызвать метод для конкретного экземпляра другого класса.
Наверняка сейчас кто-нибудь отправить меня читать талмуты по ООП, но если и так - то прошу, хотя бы конкретный параграф талмута назовите)))

Старый 16.02.2014, 00:18
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 8  
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
В подписи, это для начала.

Старый 16.02.2014, 14:12
ashkart вне форума Посмотреть профиль Отправить личное сообщение для ashkart Найти все сообщения от ashkart
  № 9  
ashkart
 
Аватар для ashkart

Регистрация: Feb 2014
Сообщений: 15
Цитата:
Сообщение от Akopalipsis Посмотреть сообщение
В подписи, это для начала.
Похоже на правду. Буду копать туда) Спасибо!

Старый 16.02.2014, 15:18
Vreden вне форума Посмотреть профиль Отправить личное сообщение для Vreden Найти все сообщения от Vreden
  № 10  
Vreden
 
Аватар для Vreden

Регистрация: Feb 2009
Сообщений: 141
Человек почти ничего не знает об ООP, а ему уже ООD показывают. Не читай паттерны, прочти лучше толмут попроще и не один конкретный параграф, а весь.

Создать новую тему Закрытая тема Часовой пояс GMT +4, время: 02:15.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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