Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   as MovieClip.filters not work :( (http://www.flasher.ru/forum/showthread.php?t=89313)

nouba 12.12.2006 17:22

as MovieClip.filters not work :(
 
Здраствуйте товарищи
Есть вот такая проблемка

Код:

package outsource {
        import flash.display.MovieClip;
        import flash.filters.BevelFilter;
        import flash.filters.BitmapFilter;
       
        [Embed (source="/outsource/clock.swf#GameClock")]
        public dynamic class GameClock extends MovieClip{
               
                public var __clockBg:MovieClip       

                public function GameClock(){
                        __clockBg = getChildByName("clockbg") as MovieClip;
                        var fi:BitmapFilter = new BevelFilter()
                        var ar:Array = new Array()
                        ar.push(fi)
                        __clockBg.filters = ar;
                        __clockBg.rotation = 30
                        __clockBg.visible = true
                        __clockBg.alpha = 0.2
                }
        }
}

Как видите после инициализации мувика я пробую поигратся его свойствами.
Прикол в том что допусти rotation и visible можна изменить и эффект будет виден, а вот filters и alpha - НЕТ!
Как я уже не старался ну нельзя изменить прозрачность и добавить фильтры :(

Есть какие-то у кого соображения?
Заранее благодарен за ответы!

etc 12.12.2006 18:21

А ролик ты прицепляешь? У тебя нет addChild…

nouba 12.12.2006 18:24

А его не надо цеплять :)
Он и так уже есть. Это же класс к внешниму мувику
[Embed (source="/outsource/clock.swf#GameClock")]

Прикол в том что почему некотырыми свойства мувиклипа невозможно управлять хотя в доке об этом ни слова

etc 12.12.2006 18:27

Выложи исходник.

ALiEN_2OO6 12.12.2006 21:13

Попробуй в классе написать функцию например для изменения прозрачности, и уже её вызвать. Должно помочь.

nouba 12.12.2006 21:22

Цитата:

Сообщение от ALiEN_2OO6
Попробуй в классе написать функцию например для изменения прозрачности, и уже её вызвать. Должно помочь.

И так я уже писал. Прозрачность я уже добился чтобы менялась
А вот с фильтрами полный пипец

Так тоже не работает:

Код:

private function setFilters():void{
        __clockBg.filters = [new BevelFilter()]
}

а сели написать после этого trace(__clockBg.filters) то получится
что эффект всётаки есть, потому что пишет в консоли "[object BevelFilter]"
но визуально его нету :(((

Вот такая вот запара

nouba 15.12.2006 15:16

Кароче это глюк Флэша 9 альфы
Можно играться всеми свойствами класса MovieClip, кроме фильтров
Отображаются только фильтры вручную установленные ещё во флэше

З.Ы. Спасибо __etc за помощь ;)

nouba 15.12.2006 15:58

Проблема локализирована здесь

К сожалению, приходится выбирать -
либо ты юзаешь ColorTransform либо filters

Ну не пляшет оно друг с другом и всё :(

etc 15.12.2006 18:04

о_О, ты нашёл ещё и проблему? :) Не знал, не знал =)
Тогда проще — накладывай ColorTransform на вложенный мувик, а фильтр на внешний (т.е. ещё один внутренний мувик сделай).

Тем не менее, остается неясным тот факт, что фильтры, выставленные ручками — работают.

nouba 15.12.2006 18:15

Вариант... вариант...
Ша попробую :)

Добавлено через 5 минут:

УРА! Б.Я! Заработало
З.Ы. Ещё раз спасибо за светлую идею, а то у меня мозги в ту степь уже не варят за 3 день затр..ха с этими часиками


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

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