Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 13.10.2006, 17:09
Diestro вне форума Посмотреть профиль Отправить личное сообщение для Diestro Посетить домашнюю страницу Diestro Найти все сообщения от Diestro
  № 1  
Ответить с цитированием
Diestro
 
Аватар для Diestro

Регистрация: Oct 2006
Адрес: Кисловодск
Сообщений: 192
Отправить сообщение для Diestro с помощью ICQ
По умолчанию Цвет выделения текста мышкой

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

Старый 13.10.2006, 17:17
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
никак

Старый 13.10.2006, 17:28
Diestro вне форума Посмотреть профиль Отправить личное сообщение для Diestro Посетить домашнюю страницу Diestro Найти все сообщения от Diestro
  № 3  
Ответить с цитированием
Diestro
 
Аватар для Diestro

Регистрация: Oct 2006
Адрес: Кисловодск
Сообщений: 192
Отправить сообщение для Diestro с помощью ICQ
и на том спасибо

Старый 14.10.2006, 06:05
Dendroid вне форума Посмотреть профиль Отправить личное сообщение для Dendroid Посетить домашнюю страницу Dendroid Найти все сообщения от Dendroid
  № 4  
Ответить с цитированием
Dendroid
 
Аватар для Dendroid

Регистрация: Dec 1999
Адрес: Магадан
Сообщений: 763
Да легко, делаешь обычное поле с чёрным цветом букв.
Делаешь из него мувик, мувику даёшь advanced color option (-100% + 255) для каждого канала. Это эквивалентно инвертированию изображения. Усё.

Либо скриптом:
Код:
createTextField("_txt",1,10,10,200,20);
_txt.text = "selected, not selected";
new Color(_txt).setTransform({ra:-100,ga:-100,ga:-100,rb:255,gb:255,bb:255});
Selection.setFocus("_txt");
Selection.setSelection(0,9);
На самом деле, в одноцветных полях можно подобрать трансформацию для любого цвета выделения, только не надо забывать, что такая же трансформация будет действовать и на цвет фонта - поэтому нужно будет выбирать соответствующий цвет.

А вообще, есть ещё один дебильный способ сделать выделение любого цвета, не меняя цвет букв в поле (подходит для многоцветных полей): кладём на стаж два текстовых поле одно точно под другим, ассоциируем оба поля с одной переменной (чтобы текст всегда совпадал) нижнему даём трансформацию, чтобы превратить чёрное в нужное нам выделение, верхнему запрещаем выделение (sectable = false). Теперь пользователь, выделяя буквы, будет выделять их на самом деле в нижнем текстовом поле и видеть это выделение, хотя сами буквы будут оставаться аккуратно закрыты буквами вырхнего поля. Это не совсем хорошо, т.к. обычно и сами буквы при выделении меняют цвет на дополнительный, но это легко исправить, отслеживая getSelection() в нижнем поле и меняя цвет нужных букв верхнего поля на правильный дополнительный (а не на просто белый, как по дефолту во флэшовых полях).
Этот способ можно запинать даже для инпут полей, сам делал, просто кода для передачи всех событий в нижнее поле нужно больше...

И, наконец, способ самый мощный, но самый трудоёмкий - отслеживаем какие именно буквы у нас выделены и их положение в текстовом поле (тут лучше иметь 8 или 9 плеер, чтобы анализировать битмап с отрисованным флэшем селекшоном, т.к. это самый простой способ отыскать физическое положение выделенных букв в поле; в более ранних плеерах это сложнее, но тоже не невозможно ) Теперь, когда координаты выделения известны (прямоугольник или набор прямоугольников) уже рисуем вместо стандартного выделения хоть волны, хоть летающие звёздочки.
Прототип селекшона в поле, где выделяемые буквы начинают гореть огнём из нойза я даже начал делать, доведу до ума когда-нибудь, когда будет побольше свободного времени. Такие эффекты, я думаю будут восстребованы на сайтах, где флэшу начинают доверять работу с текстом (чаты, блоги, Валлопы всякие), так что тренируйтесь уже.

О, выдал скока многа букав. Просто не люблю, когда говорят "нельзя" без всяких на то оснований...
__________________
Верить никому нельзя. Мне - можно. :)

Старый 14.10.2006, 12:00
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 5  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Dendroid, если тебе угодно — без геморроя нельзя.
У этой задачи нет правильного и легкого решения, поэтому — нельзя.

Извращаться с инвертацией и прочими радостями — не экономить на ресурсах и врядли данная задача является основной в проекте.
Основания достаточны? Можно придумать сколь угодно извращенный способ, но он врядли будет ходовым.

Старый 14.10.2006, 12:29
Dendroid вне форума Посмотреть профиль Отправить личное сообщение для Dendroid Посетить домашнюю страницу Dendroid Найти все сообщения от Dendroid
  № 6  
Ответить с цитированием
Dendroid
 
Аватар для Dendroid

Регистрация: Dec 1999
Адрес: Магадан
Сообщений: 763
Цитата:
Сообщение от __etc
У этой задачи нет правильного и легкого решения, поэтому — нельзя.
Вообще-то аргументация явно недостаточная.
Три строчки кода - это уже сложное решение (ну или пусть 50 строчек, как во втором упомянутом мной примере)? Ну, можно завернуть это в класс и вызывать одной строкой, дизайнер и не узнает, что там создаётся поле, а потом инвертируется.

Если так рассуждать, получается, что ответ на самый задаваемый здесь последнее время вопрос: "Как избавиться от рамок у флэшки в IE?" долже быть: "Никак"?? Ведь что может быть геморройнее, чем включать флэшку жаваскриптом, заботясь, чтобы работало в максимальном числе браузеров?

Нет, я отлично понимаю о чём Вы, и ничего лично против Вас не имею, извините, если задел, но сам подход... такое стремление к изяществу и кристальной чистоте кода, без всяких триков - кому оно надо?
P.S.: А Вы видели, как устроены макромедийные компоненты изнутри - никакого изящества, сплошной практицизм, порождающий во множестве различные трики и хаки.
__________________
Верить никому нельзя. Мне - можно. :)

Старый 14.10.2006, 13:27
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 7  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
А я их и не использую, собственно.
Трики — в AS1 пожалуйста. К тому же, твои способы весьма ограничены и любой цвет задать можно, разве что, с помощью третьего способа, который является самым ресурсоёмким.

И дело не в чистоте кода, а в дальнейшей работе с этим проектом.

Старый 15.10.2006, 03:04
llllllllll вне форума Посмотреть профиль Отправить личное сообщение для llllllllll Найти все сообщения от llllllllll
  № 8  
Ответить с цитированием
llllllllll

Регистрация: Feb 2001
Сообщений: 1,893
Ничего страшного в "дебильном" способе, который все кому это нужно юзают с 99-ого года (Flash4) - нет, если очень смущает - можно оформить в виде компонента, и никто никогда не узнает как сие чудо работает, ... а с появлением 8-ки, мне кажется можно решить еще проще: замена цвета - теперь это просто

Старый 15.10.2006, 11:32
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 9  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
etc я не совсем понимаю, чем мешает этот код проекту? инкапсулируй все нафик, и не вспоминай.
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 15.10.2006, 13:08
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 10  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Своей неочевидностью и излишней сложностью для простой смены цвета выделения (возможности выделения любым цветом). Я конечно, понимаю, что во времена Flash 4 нужно было ой как извращаться, чтобы сделать элементарные вещи, но сейчас-то зачем…
Впрочем, если этот геморрой является приоритетным в проекте — пожалуйста, я не против.


Последний раз редактировалось etc; 15.10.2006 в 13:10.
Создать новую тему Ответ Часовой пояс GMT +4, время: 04:59.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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