Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Чудеса с текстом (http://www.flasher.ru/forum/showthread.php?t=88314)

Kikasso 22.11.2006 10:33

Вложений: 1
Цитата:

Сообщение от pkfun
Опечатка. :D Я понимаю, но всегда проверяю свои ответы в редакторе.

Ну так это не моя опечатка. Я посмотрел что у тебя вывело, там написано что код надо сажать на евент. Значит, ты не туда клал. Сунул на кадр - говорит, что скобки нет. Поставил, код корректный. Только от исправления он все равно не заработает, потому что событие срабатывает один раз, а нам нужно плавно увести. Ну вот я сделал так:
Код:

_alpha=10;
this.onRollOver=function(){
 _alpha = 100;
}
this.onRollOut=function(){
  _alpha = 10;
}

Теперь наглядно видно, что без вкючения шрифтов просто так ни альфу, ни мальфу с текста не убрать. Только битмапа, как в вашем примере. Старый добрый Color и его setColorTransform(); не помогает, я только что проверил - цвет меняет, альфу нет.
P.S. Ну правда, ВАРАН, вы таким шрифтом выступили, что любой засомневается.

ВАРАН 22.11.2006 19:02

Вложений: 1
Ну, идрить кудрить, я ж просто принцип показал. Вот вам ваша альфа с динамиком.

pkfun 22.11.2006 20:40

fla можно посмотреть то? :)

Kikasso 23.11.2006 05:14

Цитата:

Сообщение от ВАРАН
Ну, идрить кудрить, я ж просто принцип показал. Вот вам ваша альфа с динамиком.

И со включенным шрифтом, я полагаю?

Kikasso 23.11.2006 07:01

а вот и разгадка феномена.
 
Вложений: 1
вот как все решается:
Код:

mask.cacheAsBitmap = true;
clip.cacheAsBitmap = true;
clip.setMask(mask);
mask._alpha=0;
clip.onRollOver=function(){
        if( mask._alpha >94){
                mask._alpha = 100;
                mask.onEnterFrame = null;
        }else{
                this.onEnterFrame = function() {mask._alpha+=5;}
        }
}
 clip.onRollOut=function(){
                if( mask._alpha < 6 ){
                mask._alpha = 0;
                this.onEnterFrame = null;
        }else{
                this.onEnterFrame = function() {mask._alpha-=5;}
        }
}

То есть динамически сажается маска, и маска и клип casheAsBitmap, и далее альфа убирается с маски, и это работает!
Исходник в студии - Вложение 15839. Как и ранее, вверху шрифт не включен, внизу включен. Наведите мышкой.
pkfun, а откуда примерчик? Там была дискуссия?
..Это, чесслово, какие-то фокусы.

pkfun 23.11.2006 09:40

Никаких фокусов, все строго официально. Этот эффект называется "Маскировка альфа-канала" и описан в фирменном руководстве по flash8. Ведь и у меня в примере использован точно такой же прием. Только я альфу маски менял не программно.
Дискуссия? Да, как-то была. Там динамический текст не обсуждался, разговор шел просто о том, как изменять альфу маски.

ps. Прикол. Второй фаерфокс орфографию набираемого текста проверяет. :D

Kikasso 23.11.2006 09:45

Да я не читал того хелпа. столько букв! Ну теперь запомню накрепко.

ВАРАН 23.11.2006 10:58

А что вы так против включённого шрифта то все? Чего он вам не угодил?

Kikasso 23.11.2006 11:09

1) файлов много, в разных местах, шрифтов не напасешься.
2) htmlText + css, надо включать очертания для всех размеров, жирные, наклонные и пр - то есть для каждого типа букв надо свое поле подгрузить и отгрузить. А если сайт многоязыный? А с ероглифами?
3) смотрится местами лучше
4) да я в общем не против.

ВАРАН 23.11.2006 11:14

Цитата:

Сообщение от Kikasso
1) файлов много, в разных местах, шрифтов не напасешься.
2) htmlText + css, надо включать очертания для всех размеров, жирные, наклонные и пр - то есть для каждого типа букв надо свое поле подгрузить и отгрузить. А если сайт многоязыный? А с ероглифами?
3) смотрится местами лучше
4) да я в общем не против.

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


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

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