Показать сообщение отдельно
Старый 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.