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

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

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

Регистрация: Aug 2003
Адрес: 60
Сообщений: 41
Записей в блоге: 1
Отправить сообщение для treety с помощью ICQ Отправить сообщение для treety с помощью AIM Отправить сообщение для treety с помощью Yahoo Отправить сообщение для treety с помощью Skype™
По умолчанию Ссылка на объект другого класса

Как классу передать ссылку на объект содержащийся в другом классе?

не то чтобы:
Код AS3:
class AClass {
	var a_object:Object;
	function AClass (){
		...
	}
}
Код AS3:
import AClass;
class BClass{
	function BClass {
		var obj = {b:1};
		AClass.a_object = obj;//т.е. как обойтись без такой записи?
	}
}
а как это сделать если BClass даже и не знает AClass..где он и что он..
другими словами как сослаться на a_object?
зы. объяснил конечно криво..но как смог
__________________
treety


Последний раз редактировалось treety; 17.03.2010 в 18:10.
Старый 17.03.2010, 18:36
Obi вне форума Посмотреть профиль Отправить личное сообщение для Obi Найти все сообщения от Obi
  № 2  
Ответить с цитированием
Obi
 
Аватар для Obi

Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
А вы, простите, на какой версии языка писать пытаетесь?
__________________
#flasher@irc.trg.ru:6667

Старый 17.03.2010, 18:53
treety вне форума Посмотреть профиль Отправить личное сообщение для treety Посетить домашнюю страницу treety Найти все сообщения от treety
  № 3  
Ответить с цитированием
treety
 
Аватар для treety

Регистрация: Aug 2003
Адрес: 60
Сообщений: 41
Записей в блоге: 1
Отправить сообщение для treety с помощью ICQ Отправить сообщение для treety с помощью AIM Отправить сообщение для treety с помощью Yahoo Отправить сообщение для treety с помощью Skype™
Цитата:
Сообщение от Obi Посмотреть сообщение
А вы, простите, на какой версии языка писать пытаетесь?
судя по ветке форму - AS3
или я что то не так написал в коде?
__________________
treety

Старый 17.03.2010, 20:51
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
А написали в лучшем случае AS2-код.

Старый 17.03.2010, 21:28
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 5  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Вы бы ситуацию, в которой возникает такая необходимость описали,
т.к. тут подходят советы начиная "Раз BClass не знает о AClass - то путь AClass сам возьмет это значение" и заканичивая рассылкой собитий и инверсией контроля =).

Старый 17.03.2010, 23:26
treety вне форума Посмотреть профиль Отправить личное сообщение для treety Посетить домашнюю страницу treety Найти все сообщения от treety
  № 6  
Ответить с цитированием
treety
 
Аватар для treety

Регистрация: Aug 2003
Адрес: 60
Сообщений: 41
Записей в блоге: 1
Отправить сообщение для treety с помощью ICQ Отправить сообщение для treety с помощью AIM Отправить сообщение для treety с помощью Yahoo Отправить сообщение для treety с помощью Skype™
Цитата:
А написали в лучшем случае AS2-код.
ну я не стал заморачиваться на AS3 форматирование
схема же понятна..вроде..=)
Цитата:
Вы бы ситуацию, в которой возникает такая необходимость описали,
т.к. тут подходят советы начиная "Раз BClass не знает о AClass - то путь AClass сам возьмет это значение"...
в данном случае не хотелось бы чтобы AClass брал сам значение
тк. значение может динамически меняться и взятое AClass'ом значение
может случиться не актуальным
Цитата:
...и заканичивая рассылкой собитий и инверсией контроля =).
ухх..это для меня вообще тёмный лес =)

вобщем ситуация такая
я хочу записать параметр в объект который расположен в другом классе
(в моём примере конечно объект полностью перезаписывается,
но суть думаю понятна)
причём не должно иметь значение имя класса и пр.
пример: класс получил ссылку куда записывать какой-либо результат
и по этой ссылке он собственна и записывает его
без указания и импорта конкретного класса

у меняже получалось что вместо ссылки класс получал экземпляр объекта
..или как там правильно..
__________________
treety


Последний раз редактировалось treety; 17.03.2010 в 23:33.
Старый 18.03.2010, 10:40
Obi вне форума Посмотреть профиль Отправить личное сообщение для Obi Найти все сообщения от Obi
  № 7  
Ответить с цитированием
Obi
 
Аватар для Obi

Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
Код AS3:
class A {}
 
class B { 
   private var _a:A;
   public function B(a:A) {
      _a = a;
   }
}
 
var a:A = new A();
var b:B = new B(a);
__________________
#flasher@irc.trg.ru:6667

Старый 18.03.2010, 14:27
treety вне форума Посмотреть профиль Отправить личное сообщение для treety Посетить домашнюю страницу treety Найти все сообщения от treety
  № 8  
Ответить с цитированием
treety
 
Аватар для treety

Регистрация: Aug 2003
Адрес: 60
Сообщений: 41
Записей в блоге: 1
Отправить сообщение для treety с помощью ICQ Отправить сообщение для treety с помощью AIM Отправить сообщение для treety с помощью Yahoo Отправить сообщение для treety с помощью Skype™
Цитата:
Сообщение от Obi Посмотреть сообщение
Код AS3:
class A {}
 
class B { 
   private var _a:A;
   public function B(a:A) {
      _a = a;
   }
}
 
var a:A = new A();
var b:B = new B(a);
но при такой записи всё равно нужно будет импортировать класс A в класс B
иначе: "Type was not found or was not a compile-time constant: A"
попробую немного по другому объяснить

Код AS3:
class A {
	var a_object:Object;
	function A (){
		a_object = {val_1:true, val_2:20, val_3:aClassFunction};
		//для примера объект содержит всякую всячину..
	}
	function aClassFunction (){}
}
 
class B{
	var b_object:Object;
	function B (){
		b_object = {val_1:false, val_2:-10};
}	}
 
//!!в класс Main никакой из выше описанных классов не импортируется
class Main{
	var main_boolean:Boolean;
	var main_number:Number;
	function Main (ссылка_на_объект_1, ссылка_на_объект_2){
 
		main_boolean = ссылка_на_объект_1.a_object.val_1;
		//для примера как мне считать из класса A значение a_object.val_1?
 
		main_number = 50;
		ссылка_на_объект_2.b_object.val_2 = main_number;
		//и для примера как мне записать значение 
		//main_number в объект b_object.val_2 класса B?
}	}
 
var tmp:Main = new Main (ссылка_на_объект_1, ссылка_на_объект_2);
//так вот как этот "код" написать так чтобы он работал?
__________________
treety

Старый 18.03.2010, 15:25
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 9  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Цитата:
main_boolean = ссылка_на_объект_1.a_object.val_1;
//для примера как мне считать из класса A значение a_object.val_1?
Код AS3:
main_boolean = ссылка_на_объект_1["a_object"]["val_1"];
тольько плохо это - могут возникнуть ошибки времени выполнения и читают не из класса , а из объекта(экземпляра) класса
если не хотите импортировать СlassB в Main (например если СlassB - объект из другой swf)
используйте интерфейсы
Код AS3:
class Main{
	var main_boolean:Boolean;
	var main_number:Number;
	function Main (objA:IAClass, objB:IBClass){
..
}
соответственно
Код AS3:
 AClass implements IAClass
BClass implements IBClass
__________________
Отряд Котовскага

Старый 18.03.2010, 15:44
treety вне форума Посмотреть профиль Отправить личное сообщение для treety Посетить домашнюю страницу treety Найти все сообщения от treety
  № 10  
Ответить с цитированием
treety
 
Аватар для treety

Регистрация: Aug 2003
Адрес: 60
Сообщений: 41
Записей в блоге: 1
Отправить сообщение для treety с помощью ICQ Отправить сообщение для treety с помощью AIM Отправить сообщение для treety с помощью Yahoo Отправить сообщение для treety с помощью Skype™
надо запробовать вариант

но тут вопрос в другом
в данном примере передаются объект/переменные/и тп.:
Код AS3:
var tmp:Main = new Main (объект_1, объект_2);
а мне нужно чтобы в Main они были именно ссылками..

те. такая запись работает
Код AS3:
main_boolean = ссылка_на_объект_1["a_object"]["val_1"];
но как мне передать именно ссылку на объект, а не объект в "ссылка_на_объект_1"?
__________________
treety

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

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

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


 


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


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