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

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 25.02.2004, 02:41
Raven B. вне форума Посмотреть профиль Отправить личное сообщение для Raven B. Найти все сообщения от Raven B.
  № 1  
Raven B.
 
Аватар для Raven B.

Регистрация: Nov 2003
Адрес: в очень странном месте
Сообщений: 113
По умолчанию Вопрос идентификации обьектов созданых в цикле

Доброго времени суток.

Есть массив $bg_text.length в формате имя_картинки:имя_поля
Я хочу что бы при нажатии на обьект содержащий картинку в ф-ю передавалось ее имя... но тут возникает незадача - если
trace(scroll1.ScrollBody[$tnt].gobo);
работает нормально, то внутри функции
scroll1.ScrollBody[$tnt].onRelease = function ()
значение undefined т.к. береться "текущее" значение $tnt (насколько я понял). подскажите как мне "закрепить" за функцией каждого обьекта его имя?


for(i=0;i<$bg_text.length;i=i+2){

$tnt='loga'+$ind;

scroll1.ScrollBody.attachMovie("plane",$tnt,$ind);
scroll1.ScrollBody[$tnt]._y=$lists;
scroll1.ScrollBody[$tnt].pic.loadMovie(_global.HOST+"img/"+$bg_text[$ind]+".jpg");
scroll1.ScrollBody[$tnt].gobo=$bg_text[$ind+1];
trace(scroll1.ScrollBody[$tnt].gobo);
scroll1.ScrollBody[$tnt].onRelease = function ()
{
_root.open_full(scroll1.ScrollBody[$tnt].gobo);
}

$ind=$ind+1;
}



С уважением. Ворон.
__________________
умереть не страшно.
страшно жить.

Старый 25.02.2004, 12:08
Eldar вне форума Посмотреть профиль Отправить личное сообщение для Eldar Найти все сообщения от Eldar
  № 2  
Eldar

Регистрация: Sep 2001
Адрес: Баку
Сообщений: 11
По умолчанию Re: Вопрос идентификации обьектов созданых в цикле

Цитата:
Оригинал написал(а) Raven B.
for(i=0;i<$bg_text.length;i=i+2){

$tnt='loga'+$ind;

scroll1.ScrollBody.attachMovie("plane",$tnt,$ind);
scroll1.ScrollBody[$tnt]._y=$lists;
scroll1.ScrollBody[$tnt].pic.loadMovie(_global.HOST+"img/"+$bg_text[$ind]+".jpg");
scroll1.ScrollBody[$tnt].gobo=$bg_text[$ind+1];
trace(scroll1.ScrollBody[$tnt].gobo);
scroll1.ScrollBody[$tnt].onRelease = function ()
{
_root.open_full(scroll1.ScrollBody[$tnt].gobo);
}

$ind=$ind+1;
}
[/b]
scroll1.ScrollBody[$tnt].onRelease = function ()
{
_root.open_full(this.gobo);
}

"...никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть." Льюис Кэрролл

Старый 25.02.2004, 17:05
Raven B. вне форума Посмотреть профиль Отправить личное сообщение для Raven B. Найти все сообщения от Raven B.
  № 3  
Raven B.
 
Аватар для Raven B.

Регистрация: Nov 2003
Адрес: в очень странном месте
Сообщений: 113
Пробовал.
Не помогает.
scroll1.ScrollBody[$tnt].gobo - почему то не определен.

похоже нельзя обьявить (использовать) переменную "прикрепленную" к обьекту таким образом:
scroll1.ScrollBody[$tnt].gobo=$bg_text[$ind+1];

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

Подскажите плз.

Ворон.
__________________
умереть не страшно.
страшно жить.

Старый 25.02.2004, 17:17
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 4  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
эльдар правильно ответил

у тебя с областями видимости полная ерунда..
обрати внимание откуда берется $tnt - ты ведь не указываешь путь к переменной, значит она берется из того контейнера, где располагается само определение onRelease... то есть беется то значение которое осталось после выполнения цикла. а именно - последнее.
Код:
for (var i = 0, $ind = 0; i<$bg_text.length; i += 2, $ind++) {
	var $tnt = 'loga'+$ind;
	var neo = scroll1.ScrollBody.attachMovie("plane", $tnt, i);
	neo._y = $lists;
	neo.pic.loadMovie(_global.HOST+"img/"+$bg_text[i]+".jpg");
	neo.gobo = $bg_text[i+1];
	neo.onRelease = function() {
		_root.open_full(this.gobo);
	};
}
...проверяй, должно работать

Старый 25.02.2004, 23:10
Raven B. вне форума Посмотреть профиль Отправить личное сообщение для Raven B. Найти все сообщения от Raven B.
  № 5  
Raven B.
 
Аватар для Raven B.

Регистрация: Nov 2003
Адрес: в очень странном месте
Сообщений: 113


Неработает.
Проблема там же где и была


var $tnt = 'loga'+$ind;
var neo = scroll1.ScrollBody.attachMovie("plane", $tnt, i);
neo._y = $lists;
neo.pic.loadMovie(_global.HOST+"img/"+$bg_text[i]+".jpg");
trace(neo.gobo);
neo.gobo = $bg_text[i+1];
trace(neo.gobo);
neo.onRelease = function() {
trace(this.gobo);
_root.open_full(this.gobo);
};


выдает

undefined -??!!
2 - значение $bg_text[i+1];
bibi - в первом фрейме plane написано
gobo="bibi";

Помогите разобраться почему мі получаем 2 переменніх вместо одной пожалуста.

Ворон.
__________________
умереть не страшно.
страшно жить.


Последний раз редактировалось Raven B.; 25.02.2004 в 23:12.
Старый 26.02.2004, 08:10
новый вне форума Посмотреть профиль Отправить личное сообщение для новый Найти все сообщения от новый
  № 6  
новый

Регистрация: Feb 2004
Адрес: Уфа, бомж
Сообщений: 30
попробуй так:
создай новый клип напиши в его слое скрипт

_parent.onPress = function(){
// твоя функция
trace("pressed: "+this._name);

}
затем вставь этот клип в свой клип "plane"
должно работать
Вложения
Тип файла: zip go_name.zip (120 байт, 67 просмотров)

Старый 27.02.2004, 12:02
Raven B. вне форума Посмотреть профиль Отправить личное сообщение для Raven B. Найти все сообщения от Raven B.
  № 7  
Raven B.
 
Аватар для Raven B.

Регистрация: Nov 2003
Адрес: в очень странном месте
Сообщений: 113
2новый:
Прости но файл, который ты приэтачил пуст...
Последовав твоему совету получил :
loga0
loga1
loga2
loga3
loga4
...
подставить их невозможно по двум причинам.
1. весь этот ряд формируеться динамически.... я упорно не могу понять как loga$i куда то подставить.
2.Это вряд ли что то даст, ведь путь к экземпляру:
scroll1.ScrollBody.loga$i
и gobo - переменная внутри нее...

С уважением. Ворон.
__________________
умереть не страшно.
страшно жить.

Старый 28.02.2004, 03:02
новый вне форума Посмотреть профиль Отправить личное сообщение для новый Найти все сообщения от новый
  № 8  
новый

Регистрация: Feb 2004
Адрес: Уфа, бомж
Сообщений: 30
---------------------------------
Прости но файл, который ты приэтачил пуст...
---------------------------------
еще раз
здесь по нажатию на объект выводиться только его имя
Вложения
Тип файла: zip go_name.zip (4.1 Кб, 69 просмотров)

Старый 28.02.2004, 19:57
Raven B. вне форума Посмотреть профиль Отправить личное сообщение для Raven B. Найти все сообщения от Raven B.
  № 9  
Raven B.
 
Аватар для Raven B.

Регистрация: Nov 2003
Адрес: в очень странном месте
Сообщений: 113
Спасибо за файлик. но это ничего не прояснило. вопрос то в другом:

как каждому из твоих шариков присвоить переменную с какими то значением и по клику на шарик заставить его мониторить свое значение своей переменной...

С уважением. Ворон.
__________________
умереть не страшно.
страшно жить.

Старый 28.02.2004, 22:14
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 10  
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
так и не сумел понять в чем трабл (тебе бы выделить его в неработающий пример)
глянь может это надо
Вложения
Тип файла: zip g_name.zip (2.7 Кб, 71 просмотров)

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

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

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


 


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


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