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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 26.11.2009, 19:20
Zen вне форума Посмотреть профиль Отправить личное сообщение для Zen Найти все сообщения от Zen
  № 1  
Ответить с цитированием
Zen

Регистрация: Sep 2005
Сообщений: 42
Question InputText внутри форматированного текста

Есть задача: "Сделать обучающие тесты на Флэше"

Т.е. есть форматированный текст, в который надо вставлять пропущенные буковки и знаки препинания.
Текст решил сделать HTML форматированным:
Код AS3:
"<P ALIGN='LEFT'><FONT FACE='Times New Roman' SIZE='16' COLOR='#000000' LETTERSPACING='0' KERNING='0'>"
+"<a href='event:teach'><FONT COLOR='#431FD8'><b><u>Прочти или выучи правило.</u></b></FONT></a> Выпиши слова с орфограммой" 
+"<br><b>«Буквы <FONT COLOR='#E42612'>е-и</FONT> в окончаниях существительных»</b> и обозначь ее."
+"<br><br>Образец:<i>  1. Как прекрасна земля на рассвете! 2. Я брожу по тропинке в лесу. 3. На белой скатерти стоял букет роз. Выписываю:<FONT COLOR='#E42612'> на рассвете</FONT> (2, пр. п.), <FONT COLOR='#E42612'>по тропинке</FONT> (1, дат. п.),<FONT COLOR='#E42612'> на скатерти</FONT> (3,пр. п.).</i>"
+"<br><br>1. В радост… и печал… не забывайте своих друзей. "
+"<br><br>2. Мы были в театр… на спектакл… . "
+"<br><br>3. В Англи… много музеев."
+"<br><br><a href='event:check'><FONT COLOR='#431FD8'><b><u>Проверь правильность выполнения</FONT></P>"
Но не понял как вместо "..." вставить поля для пользовательского ввода?
Поля можно вставить таким макаром <img src='inputTextField' id='testimage' hspace = '78' vspace = '-4'>, где inputTextField поле для ввода (лежащее в библиотеке), а циферки 78 и -4, подгонка поля для ввода в нужное место, а в ручную каждое поле двигать на х пикселей вправо не вариант....

Вопрос: Может я пошел не тем путем? Что посоветуете? Может есть уже готовые решения?

Старый 26.11.2009, 21:49
SamFR вне форума Посмотреть профиль Отправить личное сообщение для SamFR Посетить домашнюю страницу SamFR Найти все сообщения от SamFR
  № 2  
Ответить с цитированием
SamFR

Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
Можно использовать TextField.getCharBoundaries(charIndex:int), а поля ввода размещать поверх TextField в соответствии с полученными координатами. При прокрутке или изменении размера поля обновлять. В справке, кстати, пример неплохой есть.

Старый 26.11.2009, 22:26
Zen вне форума Посмотреть профиль Отправить личное сообщение для Zen Найти все сообщения от Zen
  № 3  
Ответить с цитированием
Zen

Регистрация: Sep 2005
Сообщений: 42
SamFR, премного благодарен!
Это именно то что нужно... я этот метод изначально прочитал и не так понял, я думал что он возвращает прямоугольник описывающий размер символа.

Ещё раз спасибо!!! Блин, пол дня просидел с этой ерундой.

Старый 26.11.2009, 23:13
SamFR вне форума Посмотреть профиль Отправить личное сообщение для SamFR Посетить домашнюю страницу SamFR Найти все сообщения от SamFR
  № 4  
Ответить с цитированием
SamFR

Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
Не за что
Только учтите, что в случае, когда поле покрывает несколько символов, вам придётся вызывать этот метод как минимум два раза – для первого из них и для последнего, и вычислять результирующий прямоугольник как минимальный, содержащий оба полученных. Также придётся решить, что делать в случае, когда символы оказались расположены на разных строках (TextField.getLineIndexOfChar()), либо как этого избежать.

Добавлено через 2 минуты
Да, ещё шрифт тех символов, которые должны быть замещены, нужно сделать моноширинным для того, чтобы введённые символы совпадали по ширине с замещаемыми.

Создать новую тему Ответ Часовой пояс GMT +4, время: 19:27.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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