Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   ScaleX ScaleY и в итоге неправильный width (http://www.flasher.ru/forum/showthread.php?t=102150)

†‡Paladin‡† 10.10.2007 00:37

ScaleX ScaleY и в итоге неправильный width
 
Добрый день.
Ситуация такая. Есть mxlm компонента flex. Собственно сама компонента это пустая канва. Просто заготовка на будущее. Есть скроллбар, который по change меняет scaleX и scaleY экземпляра компоненты.
Продемонстрирую код:
Код:


private function testScale(val:Number):void {
                MyComponent.scaleX = val;
                MyComponent.scaleY = val;
                      Alert.show(String(MyComponent.width));
                }
        }

<mx:HSlider id="scale" minimum="1.0" maximum="4.0" snapInterval="0.2" value="1.0" liveDragging="true" change="testScale(scale.value)"/>

А теперь вопрос: Почему width == width до scale?

miramax 10.10.2007 16:59

Цитата:

Почему width == width до scale?
Смысл фразы не ясен.
Цитата:

Есть скроллбар, который по change меняет scaleX и scaleY экземпляра компоненты.
Я бы за попытки скалинга UIComponentов руки бы отрубал.
Отскаленый канвас или Tree вообще жесть =)
Скалить нужно графику в компонентах.

†‡Paladin‡† 10.10.2007 18:21

Цитата:

Сообщение от miramax
Смысл фразы не ясен.

Я бы за попытки скалинга UIComponentов руки бы отрубал.
Отскаленый канвас или Tree вообще жесть =)
Скалить нужно графику в компонентах.

Смысл был бы понятен, если бы ты попробовал выполнить код. Объясняю. Если алертить width сразу после выполнения scale то он не будет меняться и останется тем-же, хотя компонент уже растянулся в 2 раза.

Вопрос: Почему?
Свои изыскания на тему отрубания рук прошу отсавить при себе.

etc 10.10.2007 19:39

Потому что эти сеттеры и геттеры переопределены.

А что мешает использовать percentWidth, percentHeight? Что мешает посмотреть в исходный код UIComponent?

†‡Paladin‡† 10.10.2007 20:07

Лано сорри за нубство конечно. Но у меня просто в голове неукладывается чем вот такой код:
Код:

    override public function get width():Number
    {
        return _width;
    }

Может вызывать вышеозвученные глюки...

etc 10.10.2007 20:08

Тем, что никто значение _width после изменения scaleX не обновляет, например.

FlexOkeks 06.12.2007 19:38

Цитата:

Сообщение от miramax
Я бы за попытки скалинга UIComponentов руки бы отрубал.
Отскаленый канвас или Tree вообще жесть =)
Скалить нужно графику в компонентах.

Я вот собрался было скалить UIComponent, но никак не могу взять в толк, как это скалить графику в компонентах? Допустим есть Canvas в него, с помощью SWFLoader загрущается много разных картинок, которые там распологаются по определенным правилам, теперь нужно весь Canvas отскалить вместе с содержимым, как это можно сделать, чтобы не лишиться рук, объясните неразумному, пожалуйста. :rolleyes:

†‡Paladin‡† 07.12.2007 12:55

Вобщим у меня решилось все стандартным компонентом zoom чего и вам желаю. А реальные размеры можно узнать по getBounds.

FlexOkeks 07.12.2007 13:04

Мне эфект типа zoom вроде как не нужен, поэтому я просто сделал scale. Вот просто боюсь как бы руки потом не отрубили, поэтому решил уточнить, в чем тут подвох


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

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