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

Вернуться   Форум Flasher.ru > Блоги > Котяра

Оценить эту запись

Твиним skewX

Запись от Котяра размещена 28.07.2010 в 01:32
Обновил(-а) Котяра 28.07.2010 в 01:35

Понадобилось твинить трансформацию сдвига по x (skewX) в AS2 коде
Оказалось что это не простая задача.
Но я их победил.
Тут эмуляция переворота карты. Код выдран из контекста, но думаю всё понятно..
На ас3 похожая тема будет скорей всего, хотя там проще работать с z координатой.
Код AS1/AS2:
         public function turnOver():Void
	{
		boxScale = _xscale;
		boxY = _y;
		boxSkewX = skewX;
		boxMatrix = this.transform.matrix;
 
		var sx = Math.tan(-Math.PI / 6);
 
		TweenLite.to(this, turnOverDelay / 2, {
			_xscale:0,
			skewX: boxSkewX +sx,
			_y:boxY + 100,
			onComplete:Delegate.create(this, onTurnOverToZero)
			});
	}
 
	private function onTurnOverToZero():Void 
	{
		open();
		skewX =  Math.tan(Math.PI / 3);
		_xscale = 0;
		TweenLite.to(this, turnOverDelay  / 2, {
			_xscale:boxScale,
			skewX: boxSkewX,
			_y:boxY,
			onComplete:Delegate.create(this, onTurnOver)
			});
	}
 
	private function onTurnOver():Void 
	{
		// утанавливаем в норму ибо какой- то баг вылазиет
		 this.transform.matrix = boxMatrix;
 
	}
 
       // вот самоё оно
	public function get skewX():Number { return  this.matrix.b; }
 
	public function set skewX(value:Number):Void 
	{
		this.matrix.b = value;
		this.transform.matrix = this.matrix;
	}
 
        private var _matrix:Matrix;
	public function get matrix():Matrix {   if (_matrix== undefined) _matrix= this.transform.matrix;  return _matrix}
Всего комментариев 0

Комментарии

 

 


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


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