Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   почему flex тормозит эффекты движения ? (http://www.flasher.ru/forum/showthread.php?t=130092)

adi.belis 17.09.2009 16:11

почему flex тормозит эффекты движения ?
 
всем привет.

я создаю простои компонент
Код AS3:

<?xml version="1.0" encoding="utf-8"?>
<s:Group
        xmlns:fx="http://ns.adobe.com/mxml/2009"
        xmlns:s="library://ns.adobe.com/flex/spark"
        xmlns:mx="library://ns.adobe.com/flex/halo"
        creationComplete="initApps(event)" height="100" width="100">
        <fx:Script>
        <![CDATA[
                import mx.effects.Zoom;
                import mx.events.FlexEvent;
 
                protected function initApps(event:FlexEvent):void
                {
                        // TODO Auto-generated method stub
                }
 
 
                protected function image1_clickHandler(event:MouseEvent):void
                {
                        addEventListener(Event.ENTER_FRAME,zoom)
                }
                private function zoom(event:Event):void
                {
                        if(img.content.width < 150)
                        {
                                img.content.width = img.width + 1
                        }
                        else
                        {
                        removeEventListener(Event.ENTER_FRAME,zoom)
                        }
                }
        ]]>
        </fx:Script>
        <mx:Image id="img" source="assets/g1.png" click="image1_clickHandler(event)"/>
        <s:layout>
                <s:BasicLayout/>
        </s:layout>
</s:Group>

пре нажатие на картинку она чючють прыгает и все .

wvxvw 17.09.2009 17:16

Лучше не пользуйтесь width / height... самый оптимальный вариант, если нужно вручную что-то анимировать - используйте transform.matrix - туда шаловливые рученки разработчиков фреймворка не добрались, и оно работает нормально :)
С другой стороны, есть уже готовые эффекты написаные для флексовых компонентов. Откровенно говоря, я ими практически не пользовался, но как-то первый раз попробовав сразу натолкнулся на какой-то глюк...
Да или пробуйте вместо width / height measuredWidth / measuredHeight или explicitWidth / explicitHeight и т.д.

А, ну да, и еще валидация размеров флексовых компонентов тоже происходит в ентерФрейме, так что возможен еще и такой вариант, что ваши изменения перекрываются следующей за ними валидацией.

adi.belis 17.09.2009 18:42

big thanx


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

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