Показано с 1 по 16 из 16

Тема: Странности с removeMovieClip

  1. #1

    Регистрация
    07.06.2007
    Сообщений
    43
    Есть код:

    Код:
    if (baseClip != null) { * * *
     *baseClip.removeMovieClip(); * * *
    }
    baseClip = _root.createEmptyMovieClip("base", 0);
    После в этот baseClip вставляются другие клипы.
    Проблема в следующем: Иногда baseClip не удаляется и поверх него создаётся новый клип.
    Когда я перед baseClip.removeMovieClip(); вывожу alert с "ОК", всё работает нормально, как только убираю allert, клип снова не успевает удаляться.

    Как-то странно. Flash что в отдельном потоке удаляет клипы? И если таки да, то какое событие при этом возникает???!!!

  2. #2

    Регистрация
    27.05.2007
    Сообщений
    56
    Пробовал залить в инет ? Попробуй ошибка скорее всего пропадет.

  3. #3

    Регистрация
    18.04.2005
    Адрес
    рожденных в CCCP
    Сообщений
    805
    Код:
    if (baseClip != null) {
     baseClip.removeMovieClip(); * * *
    }
    baseClip = _root.createEmptyMovieClip("base", 0);
    здесь ты удаляешь клип до его создания я прав?
    т.е этот код гдето по goto используется?

  4. #4

    Регистрация
    07.06.2007
    Сообщений
    43
    здесь ты удаляешь клип до его создания я прав?
    т.е этот код гдето по goto используется?
    Этот код находится в функции Base.Show(). Обьект baseClip - это статическая переменная класса Base:
    Код:
    public static var baseClip:MovieClip;
    функция Show() вызывается в программе несколько раз, до её вызова переменная baseClip забивается null-ом

  5. #5

    Регистрация
    07.06.2007
    Сообщений
    43
    Пробовал залить в инет ? Попробуй ошибка скорее всего пропадет.
    Нет не выйдет. Клип набудет находится в локальной сети. Он для ASP.NET приложения был сделан, которое выполняется в офисе.

  6. #6

    Регистрация
    18.04.2005
    Адрес
    рожденных в CCCP
    Сообщений
    805
    так
    понятно значит композицией делаешь, это хорошо
    а зачем статической то переменной сделал?...видимо реализация такая
    ОООчень вероятно вот что:
    baseClip = _root.createEmptyMovieClip("base", 0);
    ты создаешь клип в корне на уровне 0 клип с именем base и ссылку на него даешь в свою стат. переменную
    всё хорошо, но 0 уровня нет такого, 1 это твоя статика что ты рисуешь, если не используются стандартные компоненты юзай вместо номера уровня везде [parent.]getNextHighestDepth() - дающий верхний уровень внутри parent, или проставь цифру не 0, и лучше не 1.

  7. #7

    Регистрация
    07.06.2007
    Сообщений
    43
    Нет, я на функции [parent.]getNextHighestDepth() споткнулся ещё когда подсказку всплывающую делал. Она отрицательные значения почему-то выдаёт. И клип тогда ВООБЩЕ не удаляется. И проблема не в нулевом уровне - при еденице работает всё точно также.
    Но я уже понял - это не проблема удаления клипа - это глюк самого Flash плеера. Знаете, как в винде, когда она тормозит - не успевают прорисовываться окна. Точно также и в Flash, только тормозов нет - а след от прошлого клипа остаётся. Иногда. И если взять новый клип и передвинуть его на место старого - то он затрёт этот след. Я присоединил файл - там виден этот процесс - я затираю след от старого клипа .
    Никто не знает способ обновить экран в Flash? Чтобы такой фигни гарантировано не было?

    Я вообщето всего месяц с Flash работаю и то по необходимости, думаю на Flex пререключаться. Так что всё познаю методом проб и ошибок. Можете посоветовать какой нибудь образцово-показательный проэкт на ActionScript с открытим кодом, чтобы посмотреть как умные люди всё на самом деле делают?

  8. #8

    Регистрация
    07.06.2007
    Сообщений
    43
    сори, тупанул с присоединённым файлом - вот вариант поменьше

  9. #9

    Регистрация
    18.04.2005
    Адрес
    рожденных в CCCP
    Сообщений
    805
    посмотри есть ли в библиотеке стандартные флашовые компоненты. Если есть то удали. Из-за их DepthManager проблема с выставлением глубины. А так похоже на какой то мега глюк плаера, с которым я не встречался за 8 лет.

    Про образцово показательный...могу подкинуть, но ты на чем программер изначально? c? java? php? так для справки.

    Что за проект? чтото вроде uml диаграмо построитель?

  10. #10

    Регистрация
    07.06.2007
    Сообщений
    43
    посмотри есть ли в библиотеке стандартные флашовые компоненты. Если есть то удали. Из-за их DepthManager проблема с выставлением глубины. А так похоже на какой то мега глюк плаера, с которым я не встречался за 8 лет.

    Про образцово показательный...могу подкинуть, но ты на чем программер изначально? c? java? php? так для справки.

    Что за проект? чтото вроде uml диаграмо построитель?
    Есть стандартный компонент - Alert, но без него никак(уж больно не хочется самому это окошко делать).
    Изначально програмирую на ASP.NET, но с с, java и php тоже знаком.
    Проэкт - это отображение иерархии сотрудников и подразделений. Ну и управление этой иерархией тоже. Раньше всё это у нас в HTML делалось в виде таблиц. Ну и естественно - повысил или понизил работника - перезагрузка страницы. Если штат человек 100, то вообще ховайся - тормоза конкретные. Поэтому решено было переделать на Flash с динамическим xml источником данных. Дизайн конечно дикий, но это только черновой вариант.

    Ну и сходу ещё один вопрос: как выводить картинку во Flash(фото сотрудника)? делаю через текстовое поле с тегом <img /> но размеры подогнать не удаётся. как автоматом определять размеры подгружаемой картинки?(в теге img). Вроде на форуме такого вопроса ещё не было.

  11. #11

    Регистрация
    18.04.2005
    Адрес
    рожденных в CCCP
    Сообщений
    805
    удаляй нах Alert из библиотеки и кода
    в каком браузере отлаживаешься?/под что должен быть заточен проект?
    если firefox есть расширение для него flashDebug, ставишь там ловятся все trace из флашек на страницах.

    вообще если внутри flash есть для локального отладчика trace команда.

    для всех брайзеров есть отладчик (в file->PublishSettings->Flash->Debug Permitted ставишь галочку)? доступен из любого места где флашка стоит, там в меню по правому клики мыши будет пункт Debug. Клацаешь загружается флашечный Debuger (в котором ловятся все trace и вся иерархия объектов).

    есть такая оооочень хорошая штука, как отладчик XRay. [Только зарегистрированные пользователи могут видеть ссылки. ] - я его пользую, когда нет сложной структуры распределенной загрузки.

    про загрузку картинки поиском юзай по разделу, были такие темы и не раз. Если чтото специфическое надо с картинкой, заводи тему новую.
    В правилах раздела четко записано "Одна тема на тред".

    p.s. щас работаю примерно такими же проектами занимаюсь: диаграммы графики и т.д.
    Ты под какой флаш плаер пишешь? в смысле какой тебе образцово показательный проект?
    под AS, AS2 или AS3?

  12. #12

    Регистрация
    07.06.2007
    Сообщений
    43
    удаляй нах Alert из библиотеки и кода
    в каком браузере отлаживаешься?/под что должен быть заточен проект?
    если firefox есть расширение для него flashDebug, ставишь там ловятся все trace из флашек на страницах.
    У меня алерт не сколько для отладки сколько для выдачи сообщений, и вопросов(да нет и тд).
    Проэкт под IE 6 и выше.
    вообще если внутри flash есть для локального отладчика trace команда.

    для всех брайзеров есть отладчик (в file->PublishSettings->Flash->Debug Permitted ставишь галочку)? доступен из любого места где флашка стоит, там в меню по правому клики мыши будет пункт Debug. Клацаешь загружается флашечный Debuger (в котором ловятся все trace и вся иерархия объектов).
    Я раньше так и делал, но когда начал подгружать XML с aspx страницы, пришлось тестировать прямо в браузере - из Flash плеера, тот что в самом редакторе, нет доступа к ASP.NET проэкту. В проэкте нужно залогиниться, а иначе достучаться никак . Да и привык я уже к алерт - столько с JavaScript так тестировал - и ничего. И если чесно мутноватый какойто дебагер во Flash. Брекпоинты вообще некоторые не срабатывают. Переменные не просмотриш. Или это я туплю... Вобщем не разобрался я в нём.

    есть такая оооочень хорошая штука, как отладчик XRay. [Только зарегистрированные пользователи могут видеть ссылки. ] - я его пользую, когда нет сложной структуры распределенной загрузки.
    спасибо, скачаю.

    p.s. щас работаю примерно такими же проектами занимаюсь: диаграммы графики и т.д.
    Ты под какой флаш плаер пишешь? в смысле какой тебе образцово показательный проект?
    под AS, AS2 или AS3?
    Под 8-м. Это ведь AS2 верно?

  13. #13

    Регистрация
    18.04.2005
    Адрес
    рожденных в CCCP
    Сообщений
    805
    про мутность стандартного дебагера это отдельная тема, всем известно что отстой
    AS

    давай мэйл вышлю модуль один

  14. #14

    Регистрация
    07.06.2007
    Сообщений
    43
    давай мэйл вышлю модуль один
    Отправил в ЛС

  15. #15

    Регистрация
    18.04.2005
    Адрес
    рожденных в CCCP
    Сообщений
    805
    тааак помарел я на свои проекты, понял что мне голову оторвут если код отдам, и особенно данные по которым строятся диаграммы, Белайн потребитель этих штук бизнесс процессы там всякие секретные...

    отправил простенький проект
    в общем есть такая вещь как старый блог Ковалёва Константина там есть доклад годичной давности по использованию ApachAnt в посте есть проект галереи
    довольно простой и правильно оформленный проектик:
    [Только зарегистрированные пользователи могут видеть ссылки. ]

  16. #16

    Регистрация
    07.06.2007
    Сообщений
    43
    Спасибо. Мне сложности и некчему. Просто посмотреть и не изобретать веловипед каждый раз. А то справочники справочниками, а опыт прийдётся приобретать самому

Похожие темы

  1. Странности при верстке в Firefox!
    от hermana в разделе Вёрстка сайта
    Ответов: 1
    Последнее сообщение: 22.10.2008, 06:51

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •