Просмотр полной версии : Создание текстового поля по клику.
whatever
08.02.2007, 19:29
Привет.
Подскажите пожалуйста как сделать так, чтобы при клике на в любое место мувика, создавалось текстовое поле, в котором можно изменять шрифт/цвет/размеры ?
Спасибо.
Задача не решается в пределах одного поста, более того, людям потребуется потратить своё время на реализацию данной задачи.
Изучайте onPress, createTextField, textColor, TextFormat, etc.
При возникновении более конкретных вопросов (не из серии «Как мне сделать Word?»), вам помогут. В противном случае вы можете отправиться в раздел «вакансии», где за некоторое материальное вознаграждение люди потратят свое время на реализацию той задачи, которая вам нужна, с подробным объяснением всех моментов реализации.
whatever
08.02.2007, 21:15
Спасибо за совет. Начну с того, что Вы посоветовали.
Если что-то не получится обязательно обращусь за доп помощью.
В противном случае вы можете отправиться в раздел «вакансии», где за некоторое материальное вознаграждение люди потратят свое время на реализацию той задачи, которая вам нужна, с подробным объяснением всех моментов реализации.
Похоже он сам из этого раздела сюда пришёл :D
whatever
08.02.2007, 22:12
Не могу найти нормальный туториал. Не подскажите линк?
Туториал по созданию редактируемых текстовых полей? :)
Это узкоспециализированная задача, у меня таких линков нет.
whatever
08.02.2007, 22:27
:) не.. Вот у меня Flash8 Professional. Я нашел туториал под пятный флеш. Дочитал до AS. А тут все непонятно, типа выберите Normal mode выберите Pro mode. В этому туториале говорится что слева есть некий блок Basic Actions, которого я таки не вижу. (Качаю Flash5 :) )
(Качаю Flash5 :) )Это есть большая ошибка. В восьмом флеше отличный хелп, что мешает поискать там MovieClip и TextField ?
Этого вполне хватит, задача не сложная.
whatever
08.02.2007, 22:41
Учебник по FlashMX/ActionScript (http://www.compdoc.ru/internet/flash/flash_mx/index11.shtml)
whatever
08.02.2007, 22:44
miramax, спасибо. как то сразу не догадался :)
whatever
09.02.2007, 17:20
Всем привет!
Я немного разобрался. У меня теперь получается по клику создавать тектфилд в то место где я кликнул. Но я никак не могу сделать так, чтобы этот текстфилд можно было редактировать.
Подскажите пожалуйста, на что обратить внимание?
Выбери тип текст филда - Input Text
whatever
09.02.2007, 18:02
my_txt.type = InputText; ?
my_txt.type = InputText; ?
my_txt.type = "input";
whatever
09.02.2007, 18:06
Спасибо огромное!!! Так классно! :)
whatever
09.02.2007, 18:08
А как сделать так, чтобы каретка сразу была в текст филде?
А как сделать так, чтобы каретка сразу была в текст филде?
никак.
whatever
09.02.2007, 18:38
Спасибо :)
whatever
09.02.2007, 19:01
Я наверное уже задолбал со своими текстфилдами :) Но есть еще вопрос.
Вот у меня по клику создается текстфилд, я ему даю какое то имя.
А как мне сделать чтобы по следующему клику создавался еще один текстфилд, с именем txtfld1, по след клику txtfield2 и тд. Спасибо.
А как сделать так, чтобы каретка сразу была в текст филде?
Selection.setFocus
whatever
09.02.2007, 21:55
Опаньки :) Мерси, работает.
whatever
09.02.2007, 21:57
А как введенный в текстфилд текст выделять при клике?
Ну, думаю направление уловил.
function createTextField(x:Number, y:Number,mc:MovieClip, k:Number) {
mc.createEmptyMovieClip("text"+k, k+1);
mc["text"+k]._x = x;
mc["text"+k]._y = y;
mc["text"+k].createTextField("btxt", 0, 0, 0, 150, 20);
mc["text"+k].btxt.html = true;
mc["text"+k].btxt.wordWrap = true;
mc["text"+k].btxt.text = "лалалал";
btntf = new TextFormat();
btntf.color = 0x000000;
btntf.font = "verdana";
btntf.leading = 10;
btntf.size = 10;
}
createTextField(0,0,clip,1);
В функцию можешь добавиь любые свои параметры дополнительные. И передавай значение _xmouse и _ymouse
P.S.: help читать!!!
whatever
09.02.2007, 23:09
Ventur, спасибо тебе. Но у меня ничего не получается, я не понимаю как вызвать эту функцию. Я пытался логически поразмышлять, и вот скажи пожалуйста в чем я не прав:
Надо сделать мувиклип, вот этот код вставить в него.
Дальше надо сделать кнопку из которой вызывать эту функицию,тоже по событию. А вызывается она как, скажи пожалуйста?
on (release){
createTextField(надо параметры?);
}
???
whatever
09.02.2007, 23:22
нашел туториал по функциям. курю.
Привет.
Подскажите пожалуйста как сделать так, чтобы при клике на в любое место мувика, создавалось текстовое поле, в котором можно изменять шрифт/цвет/размеры ?
Спасибо.
ГЫ.. почти тем же на данный момент занимаюсь:D
whatever
10.02.2007, 00:04
mitien, пока нету Ventur'a ты можешь мне истолковать, как вызвать функцию, которую он написал, и с какими параметрами? и из какого символа? у меня никак не получается..
var btnt_fmt:TextFormat = new TextFormat();
btnt_fmt.color = 0x000FF;
btnt_fmt.font = "verdana";
btnt_fmt.leading = 10;
btnt_fmt.size = 20;
k = 0
function createTextField(x:Number, y:Number, mc:MovieClip, k:Number) {
mc.createEmptyMovieClip("text"+k, k+1);
mc["text"+k]._x = x;
mc["text"+k]._y = y;
mc["text"+k].createTextField("btxt", 0, 0, 0, 150, 20);
mc["text"+k].btxt.embedFonts = true;
mc["text"+k].btxt.html = true;
mc["text"+k].btxt.wordWrap = true;
mc["text"+k].btxt.type = "input";
mc["text"+k].btxt.text = "blablabla";
mc["text"+k].btxt.setTextFormat(btnt_fmt);
trace(k);
}
onMouseDown = function () {
createTextField(_xmouse, _ymouse, this, k);
k++;
};
я немного подправил:)
скопируй в первый кдр мувика и скомпилируй..
whatever
10.02.2007, 00:30
работает :) возвращаетс 1,2,3,4,5,6....
тока текстфилды не делает
а тепеь построчно:)
var btnt_fmt:TextFormat = new TextFormat();
btnt_fmt.color = 0x000FF; //цвет
btnt_fmt.font = "verdana"; //шрифт
btnt_fmt.leading = 10; //расстояние между строчками в пикселях
btnt_fmt.size = 20; //размер
это мы задаем формат текста
k = 0 начальное значение уровня на котором будет текст
ЗЫ: вообще то лучше 1 поставить... или больше:D
function createTextField(x:Number, y:Number, mc:MovieClip, k:Number) //функция которая поле и задает
{
mc.createEmptyMovieClip("text"+k, k+1); //создаем новый пустой мувик mc с именем "text+уровень" (как раз то что мы и передаем помимо начальных координат)
mc["text"+k]._x = x;
mc["text"+k]._y = y;
mc["text"+k].createTextField("btxt", 0, 0, 0, 150, 20); //создаем текстовое поле
mc["text"+k].btxt.html = true; //говорим плееру обрабатывать текст как хтмл
mc["text"+k].btxt.wordWrap = true; //разрешаем переносить слова
mc["text"+k].btxt.type = "input"; //делаем поле "инпут" если щелкнешь и мышой поведешь то сразу текст можно изменять
mc["text"+k].btxt.text = "blablabla"; //текст созданного поля
mc["text"+k].btxt.setTextFormat(btnt_fmt); //применяем к тексту формат
}
this.onMouseDown = function () {
createTextField(_xmouse, _ymouse, this, k);
k++;
}
// при нажатии кнопки мышы - вызываем создание тексового поля
this.onMouseDown=...
вместо this можешь поставить имя своего мувика, тогда событие будет вызываться только по клику на нем
работает :) возвращаетс 1,2,3,4,5,6....
тока текстфилды не делает
убери строчку с ембедед.. делать оно делает только не ыидно их.. я просто добавлял для теста на поле тестовое поле ручками и в него подключал шрифт
whatever
10.02.2007, 01:06
поставить false или вообще убрать?
если его сделать false или закомментировать, он выводит текстфилды, но видно только "верхи". у тебя тоже так?
--
т.е как будто верхнюю часть текстфилда оставили а нижнюю отрезали.
__
все хорошо. был слишком маленький размер текстфилдов. mitien, спасибо огромное, очень доступно объяснил.
поигргайся с цифрами.. размерами и типами шрифта..
а вообще есть все таки хелп.. ну и еще поиск на форуме.. похожие темы часто встречаются
Полагаю, уже не уместно вмешательство))
whatever
10.02.2007, 12:54
Да, но есть еще вопрос, если вы не против :)
Каждый раз когда мы кликаем, у нас создается текстфилд. А имя "им всем" какое?
Или у всех имя одно и то же, а имена меняются только у мувиклипиков?
Тогда как сделать так чтобы по press этот мувик(текстфилд) можно было перетаскивать?
startDrag(mc["text"+k].btxt); ?
а имя им всем именно такое
mc["text"+k]
т.е. клип создаем в клипе mc, а именно
mc.text0, mc.text1....
whatever
10.02.2007, 13:20
Не получается. Правильно понял, например я создаю button в который пишу
on (press){
startDrag (mc["text"+k]);
}
?
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.