Показать сообщение отдельно
Старый 16.03.2008, 02:23
Iv вне форума Посмотреть профиль Отправить личное сообщение для Iv Посетить домашнюю страницу Iv Найти все сообщения от Iv
  № 8  
Iv
 
Аватар для Iv

Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
Smile Заканчиваем с этим шагом!

Продолжим приводить в порядок наш новый метод.
Организуем типизированный доступ к данным:
Код AS3:
private function pushCubicBezierDrawCommands(сubicBezier:CubicBezierSVG):void {
	const quadraticCurves:Array = [];
	сubicBezier.toQuadraticBezierArray(1, quadraticCurves);
	for (var i:int = 0;i < quadraticCurves.length; i++) {
		var curve:QuadraticBezierSVG = quadraticCurves[i] as QuadraticBezierSVG;
		if (curve!=null) {
			drawCmds.push(['C', [curve.cx, curve.cy, curve.p2x, curve.p2y]]);
		} else {
			throw new Error("com.itechnica.svg.PathToArray.pushCubicBezierDrawCommands: incorrect curve type"); 
		}
	}
}
Тестируем.

Заменяем доступ к свойствам с непонятными именами на доступ через управляющие точки:
Код AS3:
drawCmds.push(['C', [curve.control.x, curve.control.y, curve.end.x, curve.end.y]]);
Возможно, свойства добавленные в класс QuadraticBezierSVG из ранее использовавшегося объекта, больше нигде не используются. Проверим.
Закомментируем все эти свойства. Редактор не видит ошибок. Протестируем. С тем же успехом. Отлично, эти свойства можем удалять.

Итогом нашей работы стало то, что удаляя один случай скрытого нетипизированного доступа мы обнаружили еще один.
__________________
http://realaxy.com


Последний раз редактировалось iNils; 20.12.2010 в 13:31.