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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 03.07.2009, 03:24
true11 вне форума Посмотреть профиль Отправить личное сообщение для true11 Посетить домашнюю страницу true11 Найти все сообщения от true11
  № 1  
Ответить с цитированием
true11
 
Аватар для true11

Регистрация: Feb 2009
Сообщений: 74
Отправить сообщение для true11 с помощью ICQ
По умолчанию Не работает onRollOver

Ммм такая вот проблема:
Ролловер срабатывает, но почему то все время выдает самую последнюю i.(Трейсит все время ROLL OVER alb_10) Почему впринципе понятно.. Но как привязать событие в цикле именно к нужному ролику?

Код AS1/AS2:
var startX = 4;
var startY = 30;
var spacing = 20; // Промежуток между мувиками
var columns = 5; // Количество выводимых столбцов 
var rows = Math.abs(ph_images.length/columns);
 
function writeRow(b,row){
	from=row*5; // С какого мувика начинаем
	if((from+4) < ph_images.length){to=from+4;}else{to=(ph_images.length-1);} // Вычисляем конечный мувик строки
	xSpacingCount=0; // Смещение по x
 
	RollCounter = from;
	for(i=from;i<=to;i++){
	xspacing = xSpacingCount*spacing
	yspacing = row*spacing
	xpos = startX+xspacing+100*xSpacingCount;
	ypos = startY+yspacing+100*row;
	this.attachMovie("album", "alb_"+i, this.getNextHighestDepth(), {_x:xpos, _y:ypos});
	this["alb_"+i].imageloader.loadMovie(ph_images[i]);
	this["alb_"+i].onRollOver = function(){trace('ROLL OVER alb_'+i);}
	trace(this["alb_"+i] + " loaded");
	xSpacingCount++;
	RollCounter++;
		}
	}
 
function showPreviews(){
	for(j=0;j<rows;j++){
		writeRow(5,j);
	}
}
 
 
 
showPreviews();


Последний раз редактировалось true11; 03.07.2009 в 03:43.
Старый 03.07.2009, 08:14
Juice_Green вне форума Посмотреть профиль Отправить личное сообщение для Juice_Green Посетить домашнюю страницу Juice_Green Найти все сообщения от Juice_Green
  № 2  
Ответить с цитированием
Juice_Green
 
Аватар для Juice_Green

Регистрация: Dec 2005
Адрес: Новосибирск
Сообщений: 529
Отправить сообщение для Juice_Green с помощью ICQ Отправить сообщение для Juice_Green с помощью Skype™
попробуйте перед rollOver объявить временную переменную j и использовать ее:
Код AS1/AS2:
var j=i;
this["alb_"+i].onRollOver = function(){trace('ROLL OVER alb_'+j);}
либо второй вариант - добавить к мувиклипу новое свойство и также его использовать:
Код AS1/AS2:
this["alb_"+i].i=i;
this["alb_"+i].onRollOver = function(){trace('ROLL OVER alb_'+this.i);}

Старый 03.07.2009, 09:07
true11 вне форума Посмотреть профиль Отправить личное сообщение для true11 Посетить домашнюю страницу true11 Найти все сообщения от true11
  № 3  
Ответить с цитированием
true11
 
Аватар для true11

Регистрация: Feb 2009
Сообщений: 74
Отправить сообщение для true11 с помощью ICQ
Спасибо!

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

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

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


 


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


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