Флэш-среда разработки Flash странное поведение Test Movie (AS3) - PullRequest
1 голос
/ 11 мая 2011

Я не могу на всю жизнь понять, почему это происходит. Позвольте мне описать то, что я испытываю.

Я добавляю все динамически с помощью Actionscript.

В среде разработки Flash, когда я тестирую фильм, иногда все фрагменты ролика на сцене исчезают, и все, что я вижу, - это цвет сцены.

Странно то, что я все еще могу выполнять ролловер / откат (я добавил операторы трассировки в свои обработчики опрокидывания / откатывания). Я также отслеживаю свойства visible и alpha и visible = true и alpha = 1.0 !!! То, что я вижу , иногда вызывает то, что методы ролловера / свертывания вызываются несколько раз подряд. То есть Порядок вызова метода: ролловер, развертывание, ролловер или развертывание, ролловер, развертывание.

Действия, которые я выполняю в моих методах ролловера и свертывания, действительно просты. Все, что они делают, это включают / выключают другие мувиклипы ... представьте карту ... когда вы перемещаете значок, на карте появляется путь, а когда вы скатываетесь, путь уходит.

Однако, если я настрою окно окна тестового фильма, все снова появится!

Сумасшедшая вещь в том, что когда я публикую это, такое поведение не происходит ни в браузере, ни в приложении!

Что происходит? Может ли это быть памятью в среде разработки?

Размещение кода здесь:

    private function rollOverUserListener ( e:MouseEvent ) {
        trace(">>>>>>>> rollOverUserListener()  e.currentTarget.name : " + e.currentTarget.name);
        trace("e.currentTarget.alpha: " + e.currentTarget.alpha);
        trace("e.currentTarget.visible: " + e.currentTarget.visible);           
        e.currentTarget.rollOverAction(); //just scales the icon a little
        //fade up/down the appropriate path
        worldMap.resetPaths(); //turns off all the paths
        for (var i=0; i<users.length; i++){
            if ( e.currentTarget == users[i] ) { //highlight the right path
                worldMap.highlightPath(i);
            }
        }
    }


    private function rollOutUserListener ( e:MouseEvent ) {
        trace("<<<<<<<< rollOutUserListener()  e.currentTarget.name : " + e.currentTarget.name);
        e.currentTarget.rollOutAction(); //scales down the icon to normal
        worldMap.resetPaths();
    }

Ответы [ 2 ]

0 голосов
/ 18 июля 2011
private function rollOverUserListener ( e:MouseEvent ) {
    trace(">>>>>>>> rollOverUserListener()  e.currentTarget.name : " + e.currentTarget.name);
    trace("e.currentTarget.alpha: " + e.currentTarget.alpha);
    trace("e.currentTarget.visible: " + e.currentTarget.visible);           
    e.currentTarget.rollOverAction(); //just scales the icon a little
    //fade up/down the appropriate path
    worldMap.resetPaths(); //turns off all the paths
    for (var i=0; i<users.length; i++){
        if ( e.currentTarget == users[i] ) { //highlight the right path
            worldMap.highlightPath(i);
        }
    }
}


private function rollOutUserListener ( e:MouseEvent ) {
    trace("<<<<<<<< rollOutUserListener()  e.currentTarget.name : " + e.currentTarget.name);
    e.currentTarget.rollOutAction(); //scales down the icon to normal
    worldMap.resetPaths();
}
0 голосов
/ 11 мая 2011

Я не думаю, что эффективно пытаться решить эту проблему, разместив код, который вы сделали.

Но я предполагаю, что различие в поведении, которое вы видите, связано с версией флеш-плеера.

CS5 или любой другой версией флеш-карты, которая поставляется с последней версией плеера.время.Но флеш-плеер постоянно обновляется, поэтому, когда вы находитесь в своем браузере - скорее всего, у вас установлена ​​последняя версия флеш-плеера.Это может объяснить различия, которые вы видите.

Однако приведенный выше код не очень помогает, если вы не увидите функции highlightPaths и resetPaths.Я вижу, что у вас есть трассировка, но сразу после этого - выполняется код, который потенциально может легко изменить состояние всего, что вы отслеживали до рендеринга фрейма.

Вставьте несколько трасс после этого кода, чтобы увидеть, если вы получаетечто вы ожидаете

Используете ли вы какие-либо библиотеки, которые могут иметь функции, поддерживаемые только новым флэш-плеером?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...