Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   интерактивный объект в textfield (http://www.flasher.ru/forum/showthread.php?t=177640)

kelod 04.04.2012 21:53

интерактивный объект в textfield
 
снова я, с попыткой впихнуть квадратное в круглое(((

вообщем опять textfield возможно ли в нём, прямо в тексте, создать незнаю даже как сказать то ли ссылку, то ли кнопку, вообщем такой обьект при нажании на который выполнялось некое событие и что бы его можно было отследить.

in4core 04.04.2012 22:57

К сожалению ( или радости ) - нет. Можно воспользоваться бубном :
сделать ссылку на каком нить слове текста или картинке , при нажатии полетит URL в котором нужно будет вызвать JS или php - который отправит вам запрос обратно во флешку, а там уже и выполните нужную функцию.

kelod 04.04.2012 23:42

бубен это плохо(((
а можно как нибудь перехватить урл в самом флеше, а не гдето

ChuwY 05.04.2012 00:12

Можно. Поищите про встраивание изображений в htmltext.
Тема много раз на форуме обсуждалась.
Но будет несколько неожиданных проблем :)

Добавлено через 1 минуту
А вообще опишите поконкретнее цель.
Может быть, много решений есть.

Wolsh 05.04.2012 00:22

Уточните сначала, что за объект – изображение, спрайт, или просто текстовая ссылка?
И что за странные мысли про полеты urlа? Нормальные себе события посылаются из html-ссылок. Все в хелпе расписано..

strangedk 05.04.2012 00:30

Я не в курсе, класс TextFIeld не Final ?
Если нет, то вариант сделать Extend от TextField, и уже реализовать что-то своё?

kelod 05.04.2012 01:17

обычный текст, не каких спрайтов..... пока никаких :)

с текстом разобрался)
Код AS1/AS2:

txtS.htmlText =  txtS.htmlText + 
                                                        '<p>' +
                                                                '<FONT FACE="Times New Roman" SIZE="' + Perem.sizefont + '" COLOR="#'+Perem.coltxt+'" LETTERSPACING="0" KERNING="0">' +
                                                                        " <a href='event:"+Perem.stm[0]+"'>"+Perem.stm[0]+"</a> &nbsp;" + Perem.stm[1] +
                                                                '</FONT>' +
                                                        '</p>' + '<br>';
и собственно сам обработчик
addEventListener(TextEvent.LINK, usernik);
 
                                                        function usernik(e:TextEvent):void
                                                                {
 
                                                                }

теперь хочеться узнать, можно ти такое же сделать для картинки?
т.е. грузим вместо гиперссылки изображение и при клики по нему что то делаем

Wolsh 05.04.2012 01:38

Цитата:

теперь хочеться узнать, можно ти такое же сделать для картинки?
Так узнайте, что мешает то?)))) В смысле зачем спрашивать о том, что проверяется тремя движениями мышки?

kelod 05.04.2012 03:21

с изображениями тоже разобрался, но возникла проблема с текстом:(
как различить ссылки, у меня несколько ссылок, разных и есть изображения в виде ссылок, а при событии LINK в свиче делю их на img и text , вот и вопрос как мне узнать по какой ссылке кликнули, что бы было понятней приведу код
Код AS3:

function onInp(e:FAQEvent):void
{
        txtS.htmlText =  txtS.htmlText + '<p>' +'<FONT FACE="Times New Roman" >' + " <a href='event:vnik'>"+Perem.stm[0]+"</a> &nbsp;" + Perem.stm[1] + '</FONT>' +'</p>' + '<br>';
}
st.addEventListener(TextEvent.LINK, usernik);
function usernik(e:TextEvent):void
{
        switch (e.text)
        {
                case 'vnik':
                        Perem.vstnik = сюда нужно передать ссылку
                        Main.rt.dispatchEvent(new FAQEvent(FAQEvent.VSTNIK));
                break;
 
                case 'vimg':
                        navigateToURL(new URLRequest('передать url картинки'));//открытие новой вкладки
                break;
        }
}
Main.rt.addEventListener(FAQEvent.INPICT, oninpict);
function oninpict(e:FAQEvent):void
{
        var qq:Number = new Number;
        qq=Math.random();
        txtS.htmlText =  txtS.htmlText + Perem.stm[0]+Perem.stm[1] + '<a href="event:vimg"><img src="'+Perem.picturl+'"></a>' +'<br>'+'<br>'+'<br>'+'<br>'+'<br>'+'<br>'+'<br>'+'<br>'+'<br>';
}

Добавлено через 8 минут
если по простому, то как мне получить текст самой ссылки, то что написано между тегами <a href='...'>...</a>

Wolsh 05.04.2012 06:33

Ну даже не знаю...
Создать Object, и в нем хранить тексты ссылок (они же у Вас все-равно динамически создаются, то есть существует момент формирования самой хтмл-строки, когда Вы придумываете идентификатор ссылки (event:) и задаете с помощью переменной текст ссылки. Вот и сохраняйте в этот момент в Object текст ссылки по ключу-event.. По-другому не знаю как, разве что преобразовывать htmlText в XML и выискивать узел <a/> по атрибуту @href.
Само событие не переносит данные об узле, только идентификатор.


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

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