AS3 загружен PNG градиент прозрачности отображается как черный

У меня возникла странная проблема с PNG в моем проекте as3 flash. Я загружаю во флеш-память кучу PNG с градиентной прозрачностью.

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

Это проблема с памятью? Я очень горячо относился к очистке памяти. Все изображения загружаются с использованием одних и тех же сценариев, и я могу поменять местами изображения с одинаковыми результатами. Просто кажется, что через некоторое время вспышка перестает правильно показывать прозрачность.

Изображения моей проблемы можно увидеть ниже.

Работает: http://s331209305.websitehome.co.uk/board/working.jpg

а затем после прохождения первого уровня:

broken: broken.jpg (тот же URL-адрес, что и выше, с broken.jpg в конце (очевидно, поскольку я новый пользователь, я не могу иметь более одного URL-адреса в сообщении))

Я искал в Google буквально несколько часов, но не нашел никого, у кого возникла бы аналогичная проблема.

Любой совет очень ценится.

T


person Tomtids    schedule 24.11.2010    source источник


Ответы (2)


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

В любом случае, короче говоря, я исправил свою проблему.

Проблема заключалась в том, что я установил альфа-канал на высокий уровень. Я установил его на 5, и он сделал что-то похожее на ваше. Я должен был убедиться, что альфа всегда находится в пределах от 0 до 1.

Надеюсь, это тоже была ваша проблема.

person Kelly    schedule 18.01.2012
comment
Спасибо Келли. Мне пришлось изменить способ работы, чтобы проект заработал, но приятно иметь какое-то закрытие по этому вопросу! - person Tomtids; 29.03.2012

Мне любопытно, загружаете ли вы их друг на друга и начинаете видеть нарастание.

трудно сказать, что именно происходит, не видя кода, но вот несколько идей

  • убедитесь, что для BitmapData включена альфа-версия (обычно это делается через конструктор)
  • если это проблема памяти (хотя это не похоже), попробуйте использовать пулы объектов. в структуре HYPE есть один, но есть и другие.
  • Проверить как они загружены. Я использую casa lib для загрузки, что упрощает обработку изображений, я загружаю через нее png, и у меня не было подобных проблем.
  • разместить упрощенный вариант задачи. Я решал проблему бесчисленное количество раз, когда пытался опубликовать проблему, но упростил ее до самого необходимого и в конечном итоге увидел причину.
person Daniel    schedule 24.11.2010
comment
Спасибо за ваш ответ. Тайна немного углубляется. Похоже, что, возможно, добавляется более одной версии (должно быть около 11 дополнительных версий, чтобы сделать ее такой же темной, как кажется). Я знаю, что все эти версии находятся в одном спрайте (когда я перемещаю спрайт, все перемещается), однако при сканировании спрайта для детей он просто показывает один дочерний растровый рисунок. Я не особо разбираюсь в AS3 по растровым изображениям, но похоже, что мне придется поиграться с этим, чтобы найти решение. Но почему это происходит только на некоторых кнопках (не на всех) - загадка! - person Tomtids; 25.11.2010