Показать сообщение отдельно
Старый 21.09.2011, 19:25
kosheev_me вне форума Посмотреть профиль Отправить личное сообщение для kosheev_me Найти все сообщения от kosheev_me
  № 1  
Ответить с цитированием
kosheev_me

Регистрация: Jul 2010
Сообщений: 23
По умолчанию Как работает scaleX(Y) в mx:UIComponent

Вот с какой загадкой столкнулся. В контейнере лежит UIComponent, по щелчку мыши пытаюсь увеличить его, меняя его scaleX. И вот загадка... Его ширина уменьшается вместо того чтобы увеличиться...
Вот какой у меня год:
Код AS3:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
	   xmlns:s="library://ns.adobe.com/flex/spark" 
	   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
 
<fx:Script>
	<![CDATA[
		protected function bordercontainer1_clickHandler(event:MouseEvent):void
		{
			trace("--------CLICK--------");
			wc.scaleX += 1;
		}
 
		protected function wc_enterFrameHandler(event:Event):void
		{
			trace(wc.width);
		}
 
	]]>
</fx:Script>
 
<s:BorderContainer width="100%" height="100%" click="bordercontainer1_clickHandler(event)">
	<mx:UIComponent id="wc" width="100%" height="100%" enterFrame="wc_enterFrameHandler(event)" />
</s:BorderContainer>
</s:Application>
Грубо говоря, в этом приложении выводиться текщая ширина компонента с идентифитором wc. При каждом щелчке мыши увеличивается его scaleX. По идее ширина wc должна увеличиваться, но она уменьшается.
Это то, что выводится в консоль:
953
953
953
--------CLICK--------
953
476.5
476.5
476.5
--------CLICK--------
476.5
317.6666666666667
317.6666666666667
317.6666666666667
--------CLICK--------
317.6666666666667
238.25
238.25
238.25
--------CLICK--------
238.25
190.6
190.6
190.6
--------CLICK--------
190.6
158.83333333333334
158.83333333333334
158.83333333333334
--------CLICK--------
158.83333333333334
136.14285714285714
136.14285714285714
136.14285714285714

Почему же ширина компонента уменьшается?
Помогите разобраться, весь мозг сломал....