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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 21.04.2007, 21:13
CoolDV вне форума Посмотреть профиль Отправить личное сообщение для CoolDV Найти все сообщения от CoolDV
  № 1  
Ответить с цитированием
CoolDV

Регистрация: Sep 2002
Сообщений: 84
По умолчанию Функция onPress, не применяется к созданному мувику

Добрый день, создаю мувик импорт внешних изображений в список со скроллом, данные об изображениях беру из xml
в общем виде после загрузки данных из xml в кадре код выглядит так
Код:
for (var i=0;i<xmlload.firstChild.childNodes.length;i++)
	{
	j++;
	img_small=xmlload.firstChild.childNodes[i].attributes.img_small
	img_big=xmlload.firstChild.childNodes[i].attributes.img_big
	pole.createEmptyMovieClip("img"+i,i);
	pole["img"+i].onPress= function(){
	
	trace ("onPress called");

	}
	loadMovie(img_small, pole["img"+i]);
	
	if (j>3)
	{
	yy+=100;
	xx=0;
	j=0;
	}
	setProperty(pole["img"+i], _x, xx);
	setProperty(pole["img"+i], _y, yy);
	
	xx=xx+100;

	}
где pole - мувик под маской, для скролла. то есть я создаю в мувике pole, таблицу изображений по три в строке.

Так вот,
Код:
pole["img"+i].onPress= function(){
	
	trace ("onPress called");

	}
не отрабатывает, то есть трэйс не появляется....
помогите пожалуйста, в чём ошибка....
__________________
Всё новое - это хорошо переделанное старое


Последний раз редактировалось CoolDV; 21.04.2007 в 21:29.
Старый 21.04.2007, 21:15
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
CoolDV, оформите свой код в посте.

Старый 21.04.2007, 21:30
CoolDV вне форума Посмотреть профиль Отправить личное сообщение для CoolDV Найти все сообщения от CoolDV
  № 3  
Ответить с цитированием
CoolDV

Регистрация: Sep 2002
Сообщений: 84
Цитата:
Сообщение от __etc
CoolDV, оформите свой код в посте.
так??
__________________
Всё новое - это хорошо переделанное старое

Старый 21.04.2007, 21:33
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Да, все нормально. По сабжу: нужно дождаться загрузки, а потом уже назначать функции. MovieClipLoader в помощь.

Старый 21.04.2007, 21:42
CoolDV вне форума Посмотреть профиль Отправить личное сообщение для CoolDV Найти все сообщения от CoolDV
  № 5  
Ответить с цитированием
CoolDV

Регистрация: Sep 2002
Сообщений: 84
pole.createEmptyMovieClip(....)

разве не создаёт мувик???
я же наполняю его изображением после создания, и после применения к нему функции onPress.

PS создаю это всё в Flash MX v6.0. MovieClipLoader в функциях не нашёл
__________________
Всё новое - это хорошо переделанное старое

Старый 21.04.2007, 21:49
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Создает клип. Только после loadMovie все, что было присвоено и создано клипу будет удалено. Нужно дождаться загрузки, а потом уже присваивать методы. Отслеживайте загрузку по количеству загруженных байт.

Старый 21.04.2007, 21:49
CoolDV вне форума Посмотреть профиль Отправить личное сообщение для CoolDV Найти все сообщения от CoolDV
  № 7  
Ответить с цитированием
CoolDV

Регистрация: Sep 2002
Сообщений: 84
При создании руководствовался этой статьёй

http://flasher.ru/articles/view/{tutors.pg=122}

цитата:
Код:
_root.createEmptyMovieClip("down",10);
triangle(_root.down);
_root.down._x = 630;
_root.down._y = 360;
_root.down.onRelease = function(){
_root.info.scroll++;
}
ок спасибо
__________________
Всё новое - это хорошо переделанное старое


Последний раз редактировалось etc; 21.04.2007 в 21:52.
Старый 21.04.2007, 22:12
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 8  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
На крайний случай можно и так:
Код:
pole.createEmptyMovieClip("img"+i,i);
pole["img"+i].onPress= function(){
trace ("onPress called");
}
pole["img"+i].createEmptyMovieClip("img",1).loadMovie(img_small);
То есть код на клип, внутри клипа еще клип и уже втуда грузить. Но MovieClipLoader лучше.

Старый 21.04.2007, 23:50
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 9  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
MovieClipLoader появился в 7-ом плеере, поэтому в mx его нет.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 22.04.2007, 13:58
CoolDV вне форума Посмотреть профиль Отправить личное сообщение для CoolDV Найти все сообщения от CoolDV
  № 10  
Ответить с цитированием
CoolDV

Регистрация: Sep 2002
Сообщений: 84
хм странно, xml у меня такой
Код:
<news><img1  img_small="files/img1_sm.jpg" img_big="files/img1_big.jpg" text="img1" /><img2  img_small="files/img2_sm.jpg" img_big="files/img2_big.jpg" text="img2" /><img3  img_small="files/img3_sm.jpg" img_big="files/img3_big.jpg" text="img3" /><img4  img_small="files/img4_sm.jpg" img_big="files/img4_big.jpg" text="img4" /><img5  img_small="files/img5_sm.jpg" img_big="files/img5_big.jpg" text="img5" /><img6  img_small="files/img6_sm.jpg" img_big="files/img6_big.jpg" text="img6" /><img7  img_small="files/img1_sm.jpg" img_big="files/img3_big.jpg" text="img7" /><img8  img_small="files/img4_sm.jpg" img_big="files/img4_big.jpg" text="img8" /></news>
то есть 8 изображений, но отображается только 7
сделал так
Код:
for (var i=0;i<xmlload.firstChild.childNodes.length;i++)
	{
	j++;
	img_small=xmlload.firstChild.childNodes[i].attributes.img_small;
	img_big=xmlload.firstChild.childNodes[i].attributes.img_big;
	
	pole.createEmptyMovieClip("img"+i,i).onPress= function()
		{
		trace (i);
		};

	pole["img"+i].createEmptyMovieClip("img",1).loadMovie(img_small);
	
	if (j>3)
	{
	yy+=100;
	xx=0;
	j=0;
	}
	setProperty(pole["img"+i], _x, xx);
	setProperty(pole["img"+i], _y, yy);
	
	xx=xx+100;

	}
на всех созданных изображениях при клике на них трэйсится цифра 8, хотя хотелось бы чтобы цифра соответствовала номеру изображения


ЗЫ это всё будет располагаться локально, в презентации, с возможностью синхронизации с веб сайтом
ЗЗЫ в конечном итоге хотелось бы получить что то в виде
Код:
	
pole.createEmptyMovieClip("img"+i,i).onPress= function()
	{
		
	createEmptyMovieClip("big"+i,i);
	loadMovie(img_big, "big"+i);
	setProperty("big"+i, _x, 0);
	setProperty("big"+i, _y, 0);
	}
__________________
Всё новое - это хорошо переделанное старое


Последний раз редактировалось CoolDV; 22.04.2007 в 14:20.
Создать новую тему Ответ Часовой пояс GMT +4, время: 01:23.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

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

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


 


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


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