AS3 - объекты на сцене непреднамеренно исчезают - PullRequest
1 голос
/ 04 июня 2011

Мы делаем простую Flash-игру для мобильных телефонов через Flash 5.5 с использованием ActionScript 3.0. Мы анимируем массив объектов по вертикали, пока они не коснутся другого объекта в верхней части сцены. Мы создаем экземпляр каждого элемента массива с помощью одной из 10 анимаций MovieClip. У каждого объекта есть два слушателя событий; один для анимации по вертикали, а другой для прослушивания щелчка мыши (который удаляет объект со сцены). Мы сталкиваемся с проблемой, когда более 10 объектов находятся на сцене одновременно. Проблема в том, что объекты исчезают время от времени и без объяснения причин. Мы предполагаем, что проблема связана с неким типом проблемы с памятью / сборкой мусора. Ниже приведен фрагмент нашего кода, который отправляет экземпляры MovieClip на сцену.

   function dispatch(e:TimerEvent):void{
        if(count < srrayFinal.length)
        {
            addChild(sArrayFinal[count]);
            sArrayFinal[count].x = randomNumberXtart();
            sArrayFinal[count].addEventListener(Event.ENTER_FRAME, fl_AnimateVertically, false, 0, true);
            sArrayFinal[count].addEventListener(MouseEvent.CLICK, taphandler, false, 0, true);
            sArrayFinal[count].y = 480;
            count++;
        }
        else
        {
            timer.stop();
            timer.removeEventListener(TimerEvent.TIMER, dispatch);
            timer = null;
        }
   }

Что мы можем сделать, чтобы мувиклипы не исчезли? Спасибо !!!! * * 1004

Ответы [ 2 ]

1 голос
/ 15 июля 2011

Я изучал AS3, более или менее, чтобы иметь трещину в 3D-функциях ........ Любые способы, которыми я создал визуально приличный 3D ротационный ноутбук

Вы можете посмотреть его здесь www.parelle.com.au

моя проблема заключалась в том, что графика исчезла после того, как произошли определенные визуальные эффекты / анимации, например, если вы проверите ссылку на веб-сайт над клавиатурой и на экране, есть ли отдельные фрагменты ролика, содержащиеся в другом теле (фрагмент ролика), на экране анимирована клавиатура, которой не было ' t, поэтому через 10 секунд или около того экран или некоторые его части просто исчезают, пока мышь не будет перемещена или что-то будет визуализировано

Мое простое исправление заключалось в том, чтобы непрерывно воспроизводить скрытые анимации в видеоклипах, занимая флэш-память, при этом mc сохранял все на экране

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

1 голос
/ 04 июня 2011

Я не вижу нигде в этом коде, где создаются объекты.Вместо этого я вижу уже созданные объекты, перемещаемые на место.Я предполагаю, что происходит то, что у вас есть только 10 объектов, созданных в первую очередь, поэтому, когда вы пытаетесь отправить «новый» объект, вы фактически берете существующий объект, перемещая его из любого места в середине.сцены и поместив его обратно в начало.

...