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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 26.01.2007, 01:48
Madeyra вне форума Посмотреть профиль Отправить личное сообщение для Madeyra Найти все сообщения от Madeyra
  № 1  
Ответить с цитированием
Madeyra

Регистрация: Sep 2006
Сообщений: 16
Arrow Проблема с реализацией класса

Есть следующий код:
Код:
class Vector {
	public var coordinates:Array;
	public function Vector() {
		this.coordinates = this.controllElem(arguments);
	}
	public function dimension():Array {
		var misc = this.coordinates.concat();
		return misc;
	}
	public function length(roundable:Boolean):Number {
		roundable = (roundable == null || !(typeof roundable == "boolean") || !roundable) ? false : true;
		var misc = this.coordinates.concat();
		var summ:Number = 0;
		for (var i in misc) {
			summ += Math.pow(misc[i], 2);
		}
		return (roundable) ? Math.round(Math.sqrt(summ)) : Math.sqrt(summ);
	}
	private function controllElem(param:Array):Array {
		//if there are more than one element in arguments, return shifted
		var shifter:Array = (param.length != 1) ? param.shift() : param;
		shifter.reverse();
		for (var i in shifter) {
			//elements can be not a number - in this case just set as 0
			shifter[i] = isNaN(shifter[i]) ? 0 : shifter[i];
		}
		var reverse = shifter.reverse();
		return reverse;
	}
	public function coord(param:Array) {
		this.coordinates = this.controllElem(arguments);
	}
	public function invert():Vector {
		var __coord = coordinates;
		for (var i in __coord) {
			__coord[i] *= -1;
		}
		trace(__coord);
		var __vec:Vector = new Vector(__coord);
		trace(__vec.coordinates);		
                          return __vec;
	}
}
все хорошо работает за исключением одного:
в выделенном месте создается еще один экземпляр класса,
но проблема в том, что трейсится всегда ноль, хотя по идее должно быть инвертированные координаты вектора. Не могу понять в чем дело...


Последний раз редактировалось Madeyra; 26.01.2007 в 01:53.
Создать новую тему   Часовой пояс GMT +4, время: 08:27.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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