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

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

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

Регистрация: Sep 2005
Сообщений: 51
По умолчанию for в function

когда я нажимаю на кнопку у меня вызывается функция updatethumb, которой я передаю параметры z,z2
trace показывает все как нужно (т.е. цикл вроде как работает), "но есть одно но", изображения как были прежними, так и остаются. через debug переменная image не изменяется. не могу понять в чем дело, вроде делаю все правильно. будьте, добры, подскажите, плз.

Код:
function updatethumb() {
  b = 1;
  i = 0;
     for (var c:Number = _global.z; c<_global.z2; c++) {
       var image:String = "thumb_"+c+".jpg";
       trace ("slides_mc"+b+".holder"+i+"="+image);
       imageLoader.addListener(loaderListener);
       imageLoader.loadClip(this["image"], this["slides_mc"+b]["holder"+i]);
       i+=1;
       if ((i+1)%5 == 0) {b+=1;i=0;}
       };
};

Старый 25.12.2005, 03:19
Король вне форума Посмотреть профиль Отправить личное сообщение для Король Найти все сообщения от Король
  № 2  
Король
 
Аватар для Король

Регистрация: Oct 2003
Адрес: Москва
Сообщений: 2,736
Отправить сообщение для Король с помощью ICQ
Код:
function updatethumb() {
	b = 1;
	i = 0;
	trace(_global.z);
	for (var c:Number = _global.z; c<_global.z2; c++) {
		var image:String = "thumb_"+c+".jpg";
		trace("slides_mc"+b+".holder"+i+"="+image);
		imageLoader.addListener(loaderListener);
		imageLoader.loadClip(this["image"], this["slides_mc"+b]["holder"+i]);
		i += 1;
		if ((i+1)%5 == 0) {
			b += 1;
			i = 0;
		}
	}
}
_global.z = 1;
_global.z2 = 10;
updatethumb();
trace:

Код:
1
slides_mc1.holder0=thumb_1.jpg
slides_mc1.holder1=thumb_2.jpg
slides_mc1.holder2=thumb_3.jpg
slides_mc1.holder3=thumb_4.jpg
slides_mc2.holder0=thumb_5.jpg
slides_mc2.holder1=thumb_6.jpg
slides_mc2.holder2=thumb_7.jpg
slides_mc2.holder3=thumb_8.jpg
slides_mc3.holder0=thumb_9.jpg

как видишь - все изменяется как нужно

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

Регистрация: Sep 2005
Сообщений: 51
дак, я и говорю трейсит все как нужно, только картинки то старые остаются ...

не загружает он их ...

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

Регистрация: Sep 2005
Сообщений: 51
totalImages = 16
когда только загрузился сайт исполняется этот код:
Код:
for (var c:Number = 0; c<totalImages; c++) {

	var image:String = "thumb_"+c+".jpg";
	imageLoader.addListener(loaderListener);
	imageLoader.loadClip(this["image"], this["slides_mc"+b]["holder"+i]);

	i+=1;
	if ((i+1)%5 == 0) {b+=1;i=0;}
};
он работает и все загружается

эта функция запускается(onPress) при выборе из меню другой категории (копия верхней):
Код:
function updatethumb() {
	b = 1;
	i = 0;
	for (var c:Number = _global.z; c<_global.z2; c++) {
		var image:String = "thumb_"+c+".jpg";
		imageLoader.addListener(loaderListener);
		imageLoader.loadClip(this["image"], this["slides_mc"+b]["holder"+i]);

		i+=1;
		if ((i+1)%5 == 0) {b+=1;i=0;}
	};
};
проблема в том, что когда я выбираю в меню и пытаюсь поменять картинки, он изменяет их только на все thumb_15.jpg (через дебагер смотрел состояние этой переменной image - thumb_15.jpg, т.е. функция не изменяет переменную image, хотя trace пишет - ок)
бред какой-то ...

Старый 25.12.2005, 03:40
Король вне форума Посмотреть профиль Отправить личное сообщение для Король Найти все сообщения от Король
  № 5  
Король
 
Аватар для Король

Регистрация: Oct 2003
Адрес: Москва
Сообщений: 2,736
Отправить сообщение для Король с помощью ICQ
а ты пробовал почитать в хелпе как грузить с помощью MovieClipLoader-а? попробуй.

Старый 25.12.2005, 06:11
benladen вне форума Посмотреть профиль Отправить личное сообщение для benladen Найти все сообщения от benladen
  № 6  
benladen

Регистрация: Sep 2005
Сообщений: 51
Цитата:
Сообщение от Король
а ты пробовал почитать в хелпе как грузить с помощью MovieClipLoader-а? попробуй.
ты хочешь сказать, что я не правильно его гружу, или то что его нелбзя в функции использовать? не очень понятно.

Старый 25.12.2005, 07:15
KUZEN вне форума Посмотреть профиль Отправить личное сообщение для KUZEN Посетить домашнюю страницу KUZEN Найти все сообщения от KUZEN
  № 7  
KUZEN
Ветеран форума
 
Аватар для KUZEN

Регистрация: Jun 2005
Адрес: MOSCOW
Сообщений: 6,852
Отправить сообщение для KUZEN с помощью ICQ Отправить сообщение для KUZEN с помощью Yahoo Отправить сообщение для KUZEN с помощью Skype™
Цитата:
Сообщение от benladen
ты хочешь сказать, что я не правильно его гружу, или то что его нелбзя в функции использовать? не очень понятно.
Он хочет сказать что для начала нужно внимательно изучить этот класс , а потом уже что то делать ...
__________________
BestMasterиZация

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

Регистрация: Sep 2005
Сообщений: 51
как я и думал, проблема была не в том, что я класс не правильно использовал, а в том что я объявлял два раза переменную image ...
но серавно, спасибо за участие в решении вопроса

Старый 26.12.2005, 04:45
benladen вне форума Посмотреть профиль Отправить личное сообщение для benladen Найти все сообщения от benladen
  № 9  
benladen

Регистрация: Sep 2005
Сообщений: 51
еще один вопросец, тоже относящийся к данной теме

как распространить переменную i (индекс) на то, что находится внутри функции onRollOver

Код:
this.onEnterFrame = function () {

// RollOver в меню	
  for (i=1;i<=6;i++){
    this["button_"+i].onRollOver = function () {
    new mx.transitions.Tween(slider_mc, "_x", mx.transitions.easing.Elastic.easeOut, slider_mc._x, menu_array[i], 3, true);
    new mx.transitions.Tween(slider_mc, "_width", mx.transitions.easing.Strong.easeOut, slider_mc._width, this._width, 0.2, true);
    };
   }; // end for
}; // end function
индекс 1 до 6 подставляется только в эту часть этого кода, кот. сверху
Код:
this["button_"+i].onRollOver
а в строчке:
Код:
new mx.transitions.Tween(slider_mc, "_x", mx.transitions.easing.Elastic.easeOut, slider_mc._x, menu_array[i], 3, true);
menu_array[i] всегда равен 6, т.е. не изменяется от 1 - 6


Последний раз редактировалось benladen; 26.12.2005 в 04:47.
Старый 26.12.2005, 05:03
Antares вне форума Посмотреть профиль Найти все сообщения от Antares
  № 10  
Antares
Banned
[+1 16.05.2006]
[++1 16.05.2006]
[+ 1 21.05.06]
[++ за хамство]
[+1 21.05.2006]
 
Аватар для Antares

Регистрация: Dec 2003
Сообщений: 3,925
Цитата:
Сообщение от benladen
еще один вопросец, тоже относящийся к данной теме
Нет, братцы, так дело не пойдет...(с)

Новые вопросы -- в новых тредах. А этот -- закрыт.

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

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

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


 


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


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