|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Jun 2012
Сообщений: 22
|
Выделить одно слово в тексте (классическом)
Здравствуйте, дорогие форумчане!
Помогите пожалуйста, не могу выделить некоторые слова в тексте. - Весь текст лежит в классическом тексте text1, а он связан с UIScrollbar. - Текст прокручивается. Мне нужно, чтобы некоторые слова в тексте были жирными, а если выделяю и нажимаю "ж", то весь текст становится жирным(( как можно решить эту проблему? |
|
|||||
Вот как это можно сделать:
import flash.events.KeyboardEvent; import flash.ui.Keyboard; import flash.text.TextField; import flash.text.TextFormat; tf_text.addEventListener(KeyboardEvent.KEY_UP, keyUp); function keyUp(event:KeyboardEvent):void { if (event.keyCode == Keyboard.B) { var tf:TextFormat = (tf_text as TextField).getTextFormat(tf_text.selectionBeginIndex, tf_text.selectionEndIndex); tf.bold = !tf.bold; tf_text.setTextFormat(tf, tf_text.selectionBeginIndex, tf_text.selectionEndIndex); } } |
|
|||||
Регистрация: Jun 2012
Сообщений: 22
|
Цитата:
|
|
|||||
Регистрация: Jun 2012
Сообщений: 22
|
Это электронный учебник, на выходе будет файл swf или exe (win projector). С html-ом не связано(
Видимо придется вместо жирного шрифта сделать звездочки или еще что-то придумать. Добавлено через 38 секунд Flash cs5.5 actionscript 3.0 кстати |
|
|||||
А вам обязательно делать с помощь кода? Если ваш текст не подгружается ни откуда (как мне подумалось), то можете во Flash CS сделать текстовое поле не динамическим, а статическим. Тогда можно вручную выделать слова и менять жирность, да и всё остальное тоже и шрифт, размер и прочее.
---------------------------- А нет, похоже UIScrollbar не работает со статическим текстом... Жаль. Последний раз редактировалось samana; 17.05.2014 в 00:12. |
|
|||||
[+4 06.05.14]
|
Цитата:
__________________
Марк Tween |
|
|||||
package { import flash.display.*; import flash.text.*; public class Main extends Sprite { public function Main():void { var tf:TextField = new TextField(); tf.autoSize = TextFieldAutoSize.LEFT; tf.text = " как можно сделать, чтобы некоторые слова уже при запуске были жирными, и оставались такими навсегда"; var someWords:Array = ["сделать", "некоторые", "слова"]; for (var i:int = 0; i < someWords.length; i++) { var word:String = someWords[i]; var i1:int = tf.text.indexOf(word); while (i1 > -1) { var i2:int = i1 + word.length; var fmt:TextFormat = tf.getTextFormat(i1, i2); fmt.bold = true; fmt.color = 0xFF0000; tf.setTextFormat(fmt, i1, i2); i1 = tf.text.indexOf(word, i2); } } addChild(tf); } } } |
|
|||||
Регистрация: Jun 2012
Сообщений: 22
|
Цитата:
|
|
|||||
Нет, это просто один из вариантов. Всё же точнее будет сделать выделение слов вручную, как вам подсказали выше, через теги. То-есть вам нужно завести переменную с вашим текстом, выделить нужные слова тегами и назначить текст текстовому полю, например.
|
Часовой пояс GMT +4, время: 10:35. |
|
« Предыдущая тема | Следующая тема » |
|
|