![]() |
|
||||||||||
|
|||||
|
[+1 19.04.12]
Регистрация: Jul 2006
Адрес: ICQ: 966081
Сообщений: 19
|
Доброго дня, уважаемые флешеры.
Помогите пожалуйста, весь день другился не могу на динамическом тексте, созданном createTextField-ом поставить onRelease. кусок кода: создается мувик в нем текст txt_mc = btn_mc.createTextField("txt", i, 10, 13, 130, 0); txt_mc.autoSize = "center"; txt_mc.type = "static"; txt_mc.setNewTextFormat(FRM); txt_mc.textColor = 0x9C8471 ; txt_mc.text = var_gamename[i]; ![]() необходимо программно на тексте поставить onrelease = function() { ... my code ... } На сам мувик получается, а на тексты нет Либо если на тексты не возможно, нужно как то создать доп. невидимые мувики поверх основного , поверх каждого текста. Так как у каждого текста свое действие. tour_table.rar Сам скрипт весь прикрепил (нужный код в: Scene1 >> Symbol 2 >> files_list2 >> fortextfiles2) Заранее ОЧЕНЬ БЛАГОДАРЕН БУДУ!!! |
|
|||||
|
Модрон-ветеринар
|
1. У вас исходник в версии 5.5, у многих не откроется. Пересохраните помладше.
2. Цитата:
Открываем нужный класс и видим, что события onRelease у TextField нет. 3. Значения static у свойства type нет, это вы тоже придумали. Без этой строки можно вообще обойтись, по умолчанию будет dynamic, что и требуется. 4. Положите в библиотеку мувик с прозрачной заливкой и аттачте его в нужных координатах хоть поверх, хоть под текстовым полем. На него и следует вешать обработчик события onRelease. Основная задача - задать ему нужные размеры под размер текста. Отсюда вывод - делать это следует уже после добавления текста, приравнивая _width и _height, определенные по аналогичным свойствам поля. 5. Свойство selectable у поля надо установить в false, чтобы не возникал курсор, который может помешать.
__________________
Идите первым! Последний раз редактировалось mooncar; 08.04.2012 в 00:38. |
|
|||||
|
[+1 19.04.12]
Регистрация: Jul 2006
Адрес: ICQ: 966081
Сообщений: 19
|
Вот как раз его и не получилось наложить над текущими мувиками (
Пересохранил: tour_table_CS4.rar |
|
|||||
|
Регистрация: Jun 2010
Сообщений: 128
|
А почему нельзя это событие вешать на мувик btn_mc? Или, если там еще что планируется вставлять, вставляйте в btn_mc еще один пустой мувик, в который всталяете текстовое поле, и на этот мувик вешаете событие.
|
|
|||||
|
[+1 19.04.12]
Регистрация: Jul 2006
Адрес: ICQ: 966081
Сообщений: 19
|
Цитата:
Из за вот этого: btn2_mc.onRollOver = function() { new Tween(this, "_alpha", mx.transitions.easing.Regular.easeOut, 40, 100, 0.5, true); }; btn2_mc.onRollOut = function() { new Tween(this, "_alpha", mx.transitions.easing.Regular.easeOut, 100, 40, 0.5, true); }; Вот такой код не работает собственно url2_mc = btn2_mc.createEmptyMovieClip("url2"+i, i); with (url2_mc) { beginFill(0x000000); moveTo(0,0); lineTo(120,0); lineTo(120,44); lineTo(0,44); lineTo(0,10); endFill(); } url2_mc._alpha = 50; url2_mc._x = 0; url2_mc._y = 44*i; url2_mc.onRelease = function() { getURL("http://ya.ru"); } |
|
|||||
|
Регистрация: Jun 2010
Сообщений: 128
|
Ну, а что же вы хотите? Чтобы два мувика один в другом по разному на одно и то же событие реагировали? Есть впрочем, вариант, не знаю, насколько подходящий для вас - определить область реагирования каждого мувика (внутреннего и внешнего) с помощью MovieClip.hitArea так, чтобы они не перекрывались.
|
|
|||||
|
[+1 19.04.12]
Регистрация: Jul 2006
Адрес: ICQ: 966081
Сообщений: 19
|
Блин!! Не получается никак. Маленький прогресс есть, теперь создал мувик внутри основного мувика, и на нем поставил, чтоб при нажатии открывалась страница, а при onRollOver у головново мувика альфа становится 10%.
Теперь передстал перед такой проблеммой, динамично создаются 7 строк, и при rollOver на любой, высвечивается последний ( import mx.transitions.easing.*; import mx.transitions.Tween; function newXMLfile () { tourlistXML = new XML();//Объект XML tourlistXML.ignoreWhite = true; tourlistXML.onLoad = loadtourlistXML; tourlistXML.load("xml/"+_root.filename_tours); //Загружаем XML linecol = 1; lh = 0; } newXMLfile(); setInterval(newXMLfile,500); var2_gamename = new Array(); var2_gameurl = new Array(); var2_name = new Array(); var2_mode = new Array(); var2_start = new Array(); var2_fee = new Array(); var2_prise = new Array(); var2_commands = new Array(); var2_applic = new Array(); var2_desc = new Array(); var2_descurl = new Array(); loading._x = 500; loading._y = 120; loading._visible = true; url_x1 = new Array(); url_x2 = new Array(); url_y1 = new Array(); url_y2 = new Array(); url_target = new Array(); function str_replace(haystack, needle, replacement) { temp = haystack.split(needle); return temp.join(replacement); } function html_generate(haystack) { haystack = str_replace(haystack,"[br]","<br>"); haystack = str_replace(haystack,"","<b>"); haystack = str_replace(haystack,"","</b>"); haystack = str_replace(haystack,"","<i>"); haystack = str_replace(haystack,"","</i>"); haystack = str_replace(haystack,"","<u>"); haystack = str_replace(haystack,"","</u>"); haystack = '<span style="text-align: right;">'+haystack+'</span>'; return haystack; } function loadtourlistXML(loaded) { //После загрузки if (loaded) { //Если загрузка успешна loading._visible = false; xmlNode = this.firstChild; //Открываем первый тег ХМЛ for (var i=0; i<tourlistXML.childNodes.length; i++) { //Цикл создания массивов var2_gamename[i] = this.childNodes[i].childNodes[0].childNodes[0].nodeValue; var2_gameurl[i] = this.childNodes[i].childNodes[1].childNodes[0].nodeValue; var2_name[i] = this.childNodes[i].childNodes[2].childNodes[0].nodeValue; var2_mode[i] = this.childNodes[i].childNodes[3].childNodes[0].nodeValue; var2_start[i] = this.childNodes[i].childNodes[4].childNodes[0].nodeValue; var2_fee[i] = this.childNodes[i].childNodes[5].childNodes[0].nodeValue; var2_prise[i] = this.childNodes[i].childNodes[6].childNodes[0].nodeValue; var2_commands[i] = this.childNodes[i].childNodes[7].childNodes[0].nodeValue; var2_applic[i] = this.childNodes[i].childNodes[8].childNodes[0].nodeValue; var2_desc[i] = this.childNodes[i].childNodes[9].childNodes[0].nodeValue; var2_descurl[i] = this.childNodes[i].childNodes[10].childNodes[0].nodeValue; // Создание динамических кнопок блока "Последние Видео" btn2_mc = createEmptyMovieClip("btn2"+i, i); // Style var FRM:TextFormat = new TextFormat(); FRM.size = 12; FRM.align = "center"; btn2_mc._alpha = 40; txt2_mc = btn2_mc.createTextField("txt200", (i+200), 10, 13, 100, 0); txt2_mc.autoSize = "center"; txt2_mc.setNewTextFormat(FRM); txt2_mc.selectable = false; txt2_mc.textColor = 0x9C8471 ; txt2_mc.html = true; txt2_mc.multiline = true; txt2_mc.htmlText = html_generate(var2_gamename[i]); txt2_mc2 = btn2_mc.createTextField("txt201", (i+201), 130, 13, 130, 0); txt2_mc2.autoSize = "center"; txt2_mc2.setNewTextFormat(FRM); txt2_mc2.textColor = 0xD9C580; txt2_mc2.selectable = false; txt2_mc2.html = true; txt2_mc2.multiline = true; txt2_mc2.htmlText = html_generate(var2_name[i]); txt2_mc3 = btn2_mc.createTextField("txt202", (i+202), 310, 13, 50, 0); txt2_mc3.autoSize = "center"; txt2_mc3.setNewTextFormat(FRM); txt2_mc3.selectable = false; txt2_mc3.textColor = 0x9C8471 ; txt2_mc3.text = var2_mode[i]; txt2_mc4 = btn2_mc.createTextField("txt203", (i+203), 410, 13, 75, 0); txt2_mc4.autoSize = "center"; txt2_mc4.setNewTextFormat(FRM); txt2_mc4.selectable = false; txt2_mc4.textColor = 0x9C8471 ; txt2_mc4.text = var2_start[i]; txt2_mc5 = btn2_mc.createTextField("txt204", (i+204), 520, 13, 50, 0); txt2_mc5.autoSize = "center"; txt2_mc5.setNewTextFormat(FRM); txt2_mc5.selectable = false; txt2_mc5.textColor = 0x9C8471 ; txt2_mc5.text = var2_fee[i]; txt2_mc6 = btn2_mc.createTextField("txt205", (i+205), 575, 13, 70, 0); txt2_mc6.autoSize = "center"; txt2_mc6.setNewTextFormat(FRM); txt2_mc6.selectable = false; txt2_mc6.textColor = 0x9C8471 ; txt2_mc6.text = var2_prise[i]; txt2_mc7 = btn2_mc.createTextField("txt206", (i+206), 660, 13, 50, 0); txt2_mc7.autoSize = "center"; txt2_mc7.setNewTextFormat(FRM); txt2_mc7.selectable = false; txt2_mc7.textColor = 0x9C8471 ; txt2_mc7.text = var2_commands[i]; txt2_mc8 = btn2_mc.createTextField("txt207", (i+207), 740, 13, 40, 0); txt2_mc8.autoSize = "center"; txt2_mc8.setNewTextFormat(FRM); txt2_mc8.selectable = false; txt2_mc8.textColor = 0x9C8471 ; txt2_mc8.text = var2_applic[i]; txt2_mc9 = btn2_mc.createTextField("txt208", (i+208), 810, 13, 0, 0); txt2_mc9.autoSize = true; txt2_mc9.textColor = 0x9C8471 ; txt2_mc9.selectable = false; txt2_mc9.text = var2_desc[i]; btn2_mc._x = 0; btn2_mc._y = 44*i; if (linecol == 1) { btn_color = '0x100C0A'; linecol = 0; } else { btn_color = '0x000000'; linecol = 1; } with (btn2_mc) { beginFill(btn_color); //0b1315 moveTo(0,0); lineTo(985,0); lineTo(985,44); lineTo(0,44); lineTo(0,10); endFill(); } // URL ACTIONS url2_mc = btn2_mc.createEmptyMovieClip("url2"+i, i); with (url2_mc) { beginFill(0x000000); lineStyle(1, 0x0000FF); moveTo(0,0); lineTo(120,0); lineTo(120,44); lineTo(0,44); lineTo(0,10); endFill(); } url2_mc2 = btn2_mc.createEmptyMovieClip("url2"+(i+100), (i+100)); with (url2_mc2) { beginFill(0x000000); lineStyle(1, 0x0000FF); moveTo(120,0); lineTo(280,0); lineTo(280,44); lineTo(120,44); lineTo(120,10); endFill(); } url2_mc.onRollOver = function() { btn2_mc._alpha = 10; } url2_mc.onRollOut = function() { btn2_mc._alpha = 100; } url2_mc.onRelease = function() { getURL("http://ya.ru/yandsearch?text="+_root.var2_gameurl[i]); }; url2_mc2.onRelease = function() { getURL("http://ya.ru/yandsearch?text="+_root.var2_gameurl[i]); }; // URL ACTIONS } } else { trace("Не могу загрузить xml файл"); } }; tour_table.rar |
|
|||||
|
[+1 19.04.12]
Регистрация: Jul 2006
Адрес: ICQ: 966081
Сообщений: 19
|
Вы что умельцы, умерли все что ли?
Или за спасибо западло уже чем то помогать? Скажите сколько заплатим. |
|
|||||
|
Вам все вполне внятно описали.
Вы предлагаете вникнуть в вашу здоровенную портянку, так как то, что реализуется 4мя строчками, у вас не получается. Хотите платить - есть раздел форума "Вакансии". |
|
|||||
|
[+1 19.04.12]
Регистрация: Jul 2006
Адрес: ICQ: 966081
Сообщений: 19
|
Спасибо, хоть один ответ!
|
![]() |
![]() |
Часовой пояс GMT +4, время: 13:16. |
|
|
« Предыдущая тема | Следующая тема » |
|
|