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

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

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

Регистрация: Sep 2012
Сообщений: 28
По умолчанию Стиль пайп-курсора фокуса TextInput

Ребята, добрый день! У меня самая странная задача, которая только могла встретиться на моём пути флешерства, как мне кажется). Есть поле ввода текста TextInput. Но нужно каким-то чудесным образом сделать мигающий пайп (вертикальный слэш курсора фокуса) побольше/пошире. Ну то есть у меня текст сам здоровый, болдовый, но сам пайп настолько маленький и узкий, что его практически не было не видно, если б он не мигал. А игра на телефонах будет, там вообще будет беда и печаль. Очень просили что-то придумать, чтоб сделать его заметнее. Я вот сижу и потухаю... Реально ли это сделать вообще? Если да, ну или как закостылить, то буду рада любой помощи или совету, в какую сторону копать!

Старый 02.03.2015, 16:30
nubideus вне форума Посмотреть профиль Отправить личное сообщение для nubideus Найти все сообщения от nubideus
  № 2  
Ответить с цитированием
nubideus

Регистрация: Jan 2013
Сообщений: 322
ненавижу мигающую каретку

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

Регистрация: Oct 2005
Сообщений: 157
Код AS3:
import flash.text.TextField;
import flash.text.TextFormat;
import flash.text.TextFieldType;
import flash.events.KeyboardEvent;
import flash.geom.Rectangle;
import flash.ui.Mouse;
 
var t:TextField = new TextField();
t.text = "TEXT WITH WIDE CARET HACK :D";
t.x = t.y = 20;
t.width = 500;
t.height = 500;
t.alwaysShowSelection = true;
t.multiline = t.wordWrap = true;
t.defaultTextFormat = new TextFormat('_sans',20);
t.type = TextFieldType.INPUT;
addChild(t);
stage.focus = t;
t.addEventListener(KeyboardEvent.KEY_DOWN,kd);
 
var CARET:String = String.fromCharCode(1);
 
function kd(e:KeyboardEvent):void {
	t.text = t.text.substr(0, t.length-1);
	t.text += CARET;
}
t.text += CARET;
 
var selected = false;
function addCaret(){
	if(selected){
		t.setSelection(t.length-1, t.length);
		t.selectable = true;
	}else{
		t.setSelection(t.length,t.length);
		t.selectable = false;
	}
	selected = !selected;
}
 
setInterval(addCaret, 500);//caret blink time
я вот такой хак придумал, не самый красивый канешн, но может сгодится..
правда, если нужно сохранить функцию выделения текста то скрипт надо доработать.

Добавлено через 3 минуты
Но лучше найти фонт такой, чтобы в нём уже был символ каретка (прямоугольник?) и использовать его, то добавляя то убирая.

еще можно какой-то элемент отрисовывать на место каретки, высчитывая координаты.
__________________
и где же смысл?


Последний раз редактировалось vadja; 02.03.2015 в 18:31.
Старый 03.03.2015, 11:52
gumback вне форума Посмотреть профиль Отправить личное сообщение для gumback Найти все сообщения от gumback
  № 4  
Ответить с цитированием
gumback

Регистрация: Sep 2012
Сообщений: 28
vadja, спасибо!

Добавлено через 2 часа 10 минут
И ещё одни вопросик - оказывается, что в моей задаче нельзя выделять текст, курсор всегда должен быть в конце текста, как такое можно проделать?

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

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

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


 


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


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