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

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

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

Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
Лучше скажите зачем вам это нужно, а то вынос мозга какой-то получается.
__________________
#flasher@irc.trg.ru:6667

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

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

допустим есть класс "умножения"
ему дали числа и ссылку на то куда вернуть результат
он на умножал что нужно и положил туда куда сказали
вот и всё
__________________
treety

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

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Цитата:
но как мне передать именно ссылку на объект, а не объект в "ссылка_на_объект_1"?
ссылка будет полюбому, кроме ссылки вы никак объект не передадите
Код AS3:
public function multiplier(a:int,b:int,resObject:Object):void
{
resObject["result"] =a*b; 
}
__________________
Отряд Котовскага


Последний раз редактировалось Котяра; 18.03.2010 в 16:37.
Старый 18.03.2010, 16:41
Obi вне форума Посмотреть профиль Отправить личное сообщение для Obi Найти все сообщения от Obi
  № 14  
Ответить с цитированием
Obi
 
Аватар для Obi

Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
> допустим есть класс "умножения"
> ему дали числа и ссылку на то куда вернуть результат

Пусть результат возвращает метод. Откуда вызываете, там и распоряжайтесь результатом.
__________________
#flasher@irc.trg.ru:6667

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

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
ну умножение скорей всего для примера.
вот другой вариант двинуть объект в точку x,y,
Код AS3:
public function moveHero(x:int,y:int,hero:DisplayObject):void
{
// например проверяем на препятствие
if (isValidPoint(x,y))
{
hero.x=x;
hero.y=y;
}
}
__________________
Отряд Котовскага

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

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

Цитата:
ну умножение скорей всего для примера.
вот другой вариант двинуть объект в точку x,y,
ну тут нету взаимодействия двух классов каким оно нужно..

link.rar
в аттаче пример который нужно заставить работать..
__________________
treety

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

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
нужно кому?
выложите код проблемного места в виде текста. качать аттач не буду.
__________________
Отряд Котовскага

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

Регистрация: Aug 2003
Адрес: 60
Сообщений: 41
Записей в блоге: 1
Отправить сообщение для treety с помощью ICQ Отправить сообщение для treety с помощью AIM Отправить сообщение для treety с помощью Yahoo Отправить сообщение для treety с помощью Skype™
Код 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}, res, multiplyComplit);
		}
		public function multiplyComplit() {
			trace (res);
			//а должно быть 800!
			//как записать результат умножения из Multiply в переменную res??
		}
	}
}
 
package{
	public class Multiply{
		var _towrite;
		var _callback;
		function Multiply (toread, towrite , callback) {
			var reslt = toread.val_1*toread.val_2;
			towrite = reslt;
			callback ();
		}
	}
}
__________________
treety

Старый 18.03.2010, 20:34
Obi вне форума Посмотреть профиль Отправить личное сообщение для Obi Найти все сообщения от Obi
  № 19  
Ответить с цитированием
Obi
 
Аватар для Obi

Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
Код 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}, res, multiplyComplit);
		}
		public function multiplyComplit(result) {
                       res = result;
			trace (res);
			//а должно быть 800!
			//как записать результат умножения из Multiply в переменную res??
		}
	}
}
 
package{
	public class Multiply{
		var _towrite;
		var _callback;
		function Multiply (toread, towrite , callback) {
			var reslt = toread.val_1*toread.val_2;
			callback.apply(null, reslt);
		}
	}
}
В классе Multiply переменная towrite хранит ссылку на значение переменной(а не на переменную) res в классе Main, следовательно при присвоении значения towrite вы просто присваиваете значение переменной towrite, не затрагивая переменную res и ее значение.

И почему вы так не любите типизацию? Это же удобно.
__________________
#flasher@irc.trg.ru:6667


Последний раз редактировалось Obi; 18.03.2010 в 21:15.
Старый 18.03.2010, 21:11
treety вне форума Посмотреть профиль Отправить личное сообщение для treety Посетить домашнюю страницу treety Найти все сообщения от treety
  № 20  
Ответить с цитированием
treety
 
Аватар для treety

Регистрация: Aug 2003
Адрес: 60
Сообщений: 41
Записей в блоге: 1
Отправить сообщение для treety с помощью ICQ Отправить сообщение для treety с помощью AIM Отправить сообщение для treety с помощью Yahoo Отправить сообщение для treety с помощью Skype™
Цитата:
В классе Multiply переменная towrite хранит ссылку на значение переменной(а не на переменную) res в классе Main, следовательно при присвоении значения towrite вы просто присваиваете значение переменной towrite, не затрагивая переменную res и ее значение.
вот оно оно!!! =)
..именно те слова которые я пытался с самого начала поста донести
возможно ли результат передавать не с функцией а по ссылке на переменную?
Код AS1/AS2:
И почему вы так не любите типизацию? Это же удобно.
ну типизацией я потом займусь
мне сейчас важнее принцип..
__________________
treety


Последний раз редактировалось treety; 18.03.2010 в 21:18.
Создать новую тему Ответ Часовой пояс GMT +4, время: 21:59.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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