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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 18.03.2010, 21:14
Obi вне форума Посмотреть профиль Отправить личное сообщение для Obi Найти все сообщения от Obi
  № 21  
Ответить с цитированием
Obi
 
Аватар для Obi

Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
Цитата:
Сообщение от treety Посмотреть сообщение
вот я и хочу узнать как мне передать ссылку на переменную а не на значение
можете рассказать?
Мой кусок кода работает. Ну должен, по крайней мере. Если вы заметили, в исправленном мной варианте вызывается переданная в параметре функция, которой в качестве параметра передается результат. Она и записывает результат в нужную вам переменную.
__________________
#flasher@irc.trg.ru:6667

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

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Код AS3:
class Link
{
     public var target:TypeOfLinkedObject
}
Вот эту ссылку и передаём и из нее и читаем

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

Регистрация: Aug 2003
Адрес: 60
Сообщений: 41
Записей в блоге: 1
Отправить сообщение для treety с помощью ICQ Отправить сообщение для treety с помощью AIM Отправить сообщение для treety с помощью Yahoo Отправить сообщение для treety с помощью Skype™
Цитата:
Мой кусок кода работает. Ну должен, по крайней мере. Если вы заметили, в исправленном мной варианте вызывается переданная в параметре функция, которой в качестве параметра передается результат. Она и записывает результат в нужную вам переменную.
да
кусок работает
но функция callback была для примера
а если у меня будет, скажем, тысяча переменных
то для них писать тысячу функций?
если бы вопрос стоял в том как с помощью функции передать
то тогда да..тот пример - то что нужно
но всё таки я хочу получить прямую ссылку на переменную
или это не возможно?

Цитата:
Вот эту ссылку и передаём и из нее и читаем
не представляю как она должна работать..
я просто в АС3 не настолько шарю.. =(
__________________
treety

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

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
простые типы Number,int,String передаются по значению
все остальные по ссылке - но не по адресу
так
Код AS3:
function test(o:object)
{
o=null;// на самом деле зануляется локальная переменная o
}
function test2(o:object)
{
o.x=null;
}
var o:Object ={x:1}
test(o);
trace(o.x) // =1;
test2(o);
trace(o.x) //null;// исправлено
__________________
Отряд Котовскага


Последний раз редактировалось Котяра; 19.03.2010 в 10:54. Причина: исправлен код
Старый 19.03.2010, 08:06
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 25  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Цитата:
Сообщение от Котяра Посмотреть сообщение
простые типы Number,int,String передаются по значению
все остальные по ссылке - но не по адресу
так
Код AS3:
function test(o:object)
{
o=null;// на самом деле зануляется локальная переменная o
}
function test2(o:object)
{
o.x=null;
}
var o:Object ={x:1}
test(o);
trace(o.x) // =1;
test2(o);
trace(o.x) // ERROR 1009;
1009? Да ну, а я думал, что null.

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

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Цитата:
Сообщение от etc Посмотреть сообщение
1009? Да ну, а я думал, что null.
недокопипастил
Код AS3:
function test(o:Object)
{
o=null;// на самом деле зануляется локальная переменная o
}
function test2(o:Object)
{
o.x=null;
}
var o:Object ={x:1}
test(o);
trace(o.x) // =1;
test2(o);
trace(o.x) // null;
o=null;
trace(o.x)//error 1009;
__________________
Отряд Котовскага

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

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

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

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
а чем плоха ссылка в посте 22?

А если нужна "прозрачность" работы со ссылкой - т.е. чтобы было пофиг объект это Link или объект типа TypeOfLink,
делают обертку типа TypeOfLink и делегируют в каждом методе управление в link:
Код AS3:
class MyClassWrapper extends/implements MyClass
{
   public var implementer:MyClass//лучше сеттер-геттер, конечно
 
   public function method0(value0):SomeType
   {
        return implementer.method0(value0);
    }
 
    public function method1(value1):Void
    {
        implementer.mehod1(value1)
    }
    ...
}
Все - объект можно подменять прозрачно для клиента

Добавлено через 13 минут
Код AS3:
_myLink.target == null
if (_myLink.target != null)
{
    ....
}
Один фиг - не напрямую с объектом работаем


Последний раз редактировалось expl; 19.03.2010 в 23:20.
Старый 23.03.2010, 19:30
treety вне форума Посмотреть профиль Отправить личное сообщение для treety Посетить домашнюю страницу treety Найти все сообщения от treety
  № 29  
Ответить с цитированием
treety
 
Аватар для treety

Регистрация: Aug 2003
Адрес: 60
Сообщений: 41
Записей в блоге: 1
Отправить сообщение для treety с помощью ICQ Отправить сообщение для treety с помощью AIM Отправить сообщение для treety с помощью Yahoo Отправить сообщение для treety с помощью Skype™
Цитата:
а чем плоха ссылка в посте 22?
так как пользоваться этим "target"?
я просто так и не разобрался..

пока экспериментировал с таргетом
у меня в итоге получилась такая схема:
Код AS3:
package{
	import flash.display.MovieClip;
	import Multiply;
	public class Main extends MovieClip {
		var _a;
		var _b;
		var res;
		function Main () {
			res = 0;
			_a = 20;
			_b = 40;
			var mlt = new Multiply ({val_1:_a, val_2:_b}, {dest:this, nam:"res"}, multiplyComplit);
		}
		public function multiplyComplit() {
			trace (res);
		}
	}
}
 
package{
	public class Multiply{
		var _towrite;
		var _callback;
		function Multiply (toread, towrite , callback) {
			var reslt = toread.val_1*toread.val_2;
			towrite.dest[towrite.nam] = reslt;
			callback ();
		}
	}
}
__________________
treety

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

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

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


 


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


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