Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Изменение буквы динамического текста в соответствии с нажатой кнопкой клавиатуры (http://www.flasher.ru/forum/showthread.php?t=202149)

max2003 02.07.2013 00:42

Изменение буквы динамического текста в соответствии с нажатой кнопкой клавиатуры
 
Буква одна, русская
То есть нужно просто перевести нажатую букву в переменную типа String

chamele0n 02.07.2013 01:37

http://www.flasher.ru/forum/showthread.php?t=142003

max2003 02.07.2013 11:38

у меня у самого кое-что получилось(но не конечный результат) через скрытое текстовое поле, которое вводилось в фокус с момента запуска ролика и прослушиватель событий TextEvent.TEXT_INPUT
функция на которую был повешен прослушиватель собирала буквы в массив и потом нужная буква вырезалась и выводилась в динамический текст
проблема в том, что мой вариант с момента нажатия одной буквы потом только её и показывал
а был ещё английский сайт где добились вывода любых символов(в том числе и русских букв) но написан ролик был на AS2 :(
выложить ссылку на сайт не могу, но код ролика(своего) выложить могу(исходник мне выкладывать бесполезно, я его "сломал")
Код ролика:
Код AS3:

import com.greensock.* \\у меня используется анимация
import flash.events.TextEvent; \\импорт TextEvent"а
 
var arr:Array; \\создаём массив
var a, b:int; \\создаём переменные для вырезания буквы из массива
letdetect.visible=false; \\letdetect это текстовое поле и мы его скрываем
stage.focus=letdetect; \\ставим letdetect в фокус
\\здесь начинается анимация
function let(letterstr:String){
        lets.letter.text=letterstr;
        lets.alpha=0;
        lets.height=17;
        lets.width=12
        TweenMax.to(lets, 1, {alpha:1, height:336, width:220, onComplete:reverse});
}
\\здесь все действия анимации отменяются
function reverse(){
        TweenMax.to(lets, 1, {alpha:0, height:17, width:12});
}
\\и вот здесь происходит чудо
letdetect.addEventListener(TextEvent.TEXT_INPUT, callLet);
function callLet(event:TextEvent):void
{
        arr = letdetect.text.split(",");
        b = arr.length;
        a = b-2;
        (arr.slice(arr.length-1, arr.length).toString()); \\вот только здесь в начале было присваивание буквы
}                                                                    \\динамическому тексту



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

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