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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 07.04.2012, 22:36
DavX вне форума Посмотреть профиль Отправить личное сообщение для DavX Найти все сообщения от DavX
  № 1  
Ответить с цитированием
DavX
[+1 19.04.12]

Регистрация: Jul 2006
Адрес: ICQ: 966081
Сообщений: 19
Post OnRelease на динамическом тексте

Доброго дня, уважаемые флешеры.
Помогите пожалуйста, весь день другился не могу на динамическом тексте, созданном createTextField-ом поставить onRelease.

кусок кода:

создается мувик
Код AS1/AS2:
           btn_mc = createEmptyMovieClip("btn"+i, i);
	btn_mc._alpha = 40;
в нем текст
Код AS1/AS2:
	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];
Делаю так не получается
Код AS1/AS2:
	txt_mc.onRelease = function() { ... my code ... }
необходимо программно на тексте поставить onrelease = function() { ... my code ... }
На сам мувик получается, а на тексты нет
Либо если на тексты не возможно, нужно как то создать доп. невидимые мувики поверх основного , поверх каждого текста. Так как у каждого текста свое действие.

tour_table.rar
Сам скрипт весь прикрепил (нужный код в: Scene1 >> Symbol 2 >> files_list2 >> fortextfiles2)

Заранее ОЧЕНЬ БЛАГОДАРЕН БУДУ!!!

Старый 08.04.2012, 00:25
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
1. У вас исходник в версии 5.5, у многих не откроется. Пересохраните помладше.

2.
Цитата:
Сообщение от DavX Посмотреть сообщение
Делаю так не получается
Код AS1/AS2:
	txt_mc.onRelease = function() { ... my code ... }
Чтобы попусту не тратить время, нужно использовать справку.
Открываем нужный класс и видим, что события onRelease у TextField нет.

3. Значения static у свойства type нет, это вы тоже придумали. Без этой строки можно вообще обойтись, по умолчанию будет dynamic, что и требуется.

4. Положите в библиотеку мувик с прозрачной заливкой и аттачте его в нужных координатах хоть поверх, хоть под текстовым полем. На него и следует вешать обработчик события onRelease.
Основная задача - задать ему нужные размеры под размер текста. Отсюда вывод - делать это следует уже после добавления текста, приравнивая _width и _height, определенные по аналогичным свойствам поля.

5. Свойство selectable у поля надо установить в false, чтобы не возникал курсор, который может помешать.
__________________
Идите первым!


Последний раз редактировалось mooncar; 08.04.2012 в 00:38.
Старый 08.04.2012, 01:34
DavX вне форума Посмотреть профиль Отправить личное сообщение для DavX Найти все сообщения от DavX
  № 3  
Ответить с цитированием
DavX
[+1 19.04.12]

Регистрация: Jul 2006
Адрес: ICQ: 966081
Сообщений: 19
Цитата:
Сообщение от mooncar Посмотреть сообщение
4. Положите в библиотеку мувик с прозрачной заливкой
Вот как раз его и не получилось наложить над текущими мувиками (
Пересохранил: tour_table_CS4.rar

Старый 09.04.2012, 15:53
Sergey_A вне форума Посмотреть профиль Отправить личное сообщение для Sergey_A Найти все сообщения от Sergey_A
  № 4  
Ответить с цитированием
Sergey_A

Регистрация: Jun 2010
Сообщений: 128
А почему нельзя это событие вешать на мувик btn_mc? Или, если там еще что планируется вставлять, вставляйте в btn_mc еще один пустой мувик, в который всталяете текстовое поле, и на этот мувик вешаете событие.

Старый 09.04.2012, 21:30
DavX вне форума Посмотреть профиль Отправить личное сообщение для DavX Найти все сообщения от DavX
  № 5  
Ответить с цитированием
DavX
[+1 19.04.12]

Регистрация: Jul 2006
Адрес: ICQ: 966081
Сообщений: 19
По умолчанию События

Цитата:
Сообщение от Sergey_A Посмотреть сообщение
А почему нельзя это событие вешать на мувик btn_mc? Или, если там еще что планируется вставлять, вставляйте в btn_mc еще один пустой мувик, в который всталяете текстовое поле, и на этот мувик вешаете событие.
Не получается в мувике мувик, так как в основном(верхнем) btn_mc уже поставлены 2 события при моусеовер и аут. Из за этого во внутреннем не получается поставить событие.

Из за вот этого:
Код AS1/AS2:
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);
	};
Добавлено через 54 минуты
Вот такой код не работает собственно
Код AS1/AS2:
	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");
	}
Неужели ни у кого нету решений?(

Старый 10.04.2012, 12:53
Sergey_A вне форума Посмотреть профиль Отправить личное сообщение для Sergey_A Найти все сообщения от Sergey_A
  № 6  
Ответить с цитированием
Sergey_A

Регистрация: Jun 2010
Сообщений: 128
Ну, а что же вы хотите? Чтобы два мувика один в другом по разному на одно и то же событие реагировали? Есть впрочем, вариант, не знаю, насколько подходящий для вас - определить область реагирования каждого мувика (внутреннего и внешнего) с помощью MovieClip.hitArea так, чтобы они не перекрывались.

Старый 11.04.2012, 22:01
DavX вне форума Посмотреть профиль Отправить личное сообщение для DavX Найти все сообщения от DavX
  № 7  
Ответить с цитированием
DavX
[+1 19.04.12]

Регистрация: Jul 2006
Адрес: ICQ: 966081
Сообщений: 19
Блин!! Не получается никак. Маленький прогресс есть, теперь создал мувик внутри основного мувика, и на нем поставил, чтоб при нажатии открывалась страница, а при onRollOver у головново мувика альфа становится 10%.
Теперь передстал перед такой проблеммой, динамично создаются 7 строк, и при rollOver на любой, высвечивается последний (

Код AS1/AS2:
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

Старый 19.04.2012, 20:09
DavX вне форума Посмотреть профиль Отправить личное сообщение для DavX Найти все сообщения от DavX
  № 8  
Ответить с цитированием
DavX
[+1 19.04.12]

Регистрация: Jul 2006
Адрес: ICQ: 966081
Сообщений: 19
Вы что умельцы, умерли все что ли?
Или за спасибо западло уже чем то помогать?
Скажите сколько заплатим.

Старый 19.04.2012, 20:55
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 9  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
Вам все вполне внятно описали.
Вы предлагаете вникнуть в вашу здоровенную портянку, так как то, что реализуется 4мя строчками, у вас не получается.

Хотите платить - есть раздел форума "Вакансии".
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

Старый 19.04.2012, 21:31
DavX вне форума Посмотреть профиль Отправить личное сообщение для DavX Найти все сообщения от DavX
  № 10  
Ответить с цитированием
DavX
[+1 19.04.12]

Регистрация: Jul 2006
Адрес: ICQ: 966081
Сообщений: 19
Спасибо, хоть один ответ!

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

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

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


 


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


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