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

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

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

Регистрация: May 2010
Сообщений: 6
По умолчанию Проблема со слайдшоу

Есть слайдшоу, которое нормально работает на локальном компе, но упорно не хочет запускаться c первого раза на сайте, открываешь страницу - оно не запускается, если обновить (F5) все работает

Путь к картинкам берется из XML-файла, последовательность картинок случайная, только всегда в начале должна запускаться первая картинка

Прошу Вашей помощи

Архив с исходником прилагается (CS4, Actionscript 1.0/2.0)
Вложения
Тип файла: rar slides.rar (76.8 Кб, 57 просмотров)

Старый 23.05.2010, 01:49
studmar вне форума Посмотреть профиль Отправить личное сообщение для studmar Найти все сообщения от studmar
  № 2  
Ответить с цитированием
studmar
 
Аватар для studmar

Регистрация: Apr 2010
Сообщений: 81
проверял на хостинге, все работает, какой браузер, как вставляете?

Старый 23.05.2010, 02:16
rainbowrussia вне форума Посмотреть профиль Отправить личное сообщение для rainbowrussia Найти все сообщения от rainbowrussia
  № 3  
Ответить с цитированием
rainbowrussia
 
Аватар для rainbowrussia

Регистрация: Feb 2008
Сообщений: 560
Открыть не смог, в самом файле увидел только код загрузки XML, кода показа картинок не увидел. Быть может код показа запускается раньше чем срабатывает onLoad, когда массив еще пуст. По крайней мере симптомы очень похожи на это.

Старый 23.05.2010, 02:38
se7h вне форума Посмотреть профиль Отправить личное сообщение для se7h Найти все сообщения от se7h
  № 4  
Ответить с цитированием
se7h

Регистрация: May 2010
Сообщений: 6
Цитата:
Сообщение от studmar Посмотреть сообщение
проверял на хостинге, все работает, какой браузер, как вставляете?
IE, Firefox, Opera
вставка с помощью SwfObject

Цитата:
Открыть не смог, в самом файле увидел только код загрузки XML, кода показа картинок не увидел. Быть может код показа запускается раньше чем срабатывает onLoad, когда массив еще пуст. По крайней мере симптомы очень похожи на это.
код вывода изображений

Код:
var intervalId:Number;
var showTime:Number = 5000; //Время показа слайда
var speed:Number = 5; //Скорость показа
container._alpha = 0;
var mcLoader:MovieClipLoader = new MovieClipLoader();
var loadListener:Object = new Object();
var i:Number = 0; //Счетчик
function slideShow() {
	mcLoader.loadClip(images[i].path,container);//Загружаем фото
	loadListener.onLoadInit = function() {
		fade(container);//Плавный показ
		i = random(photoCount);
		if (i == 0) {
			i = 1;
		}
	};
}
intervalId = setInterval(this, "slideShow", showTime);//Запускаем непрерывный показ
mcLoader.addListener(loadListener);
slideShow(i);//Первый запуск
function fade(mc) {
	container._alpha = 0;
	title_mc._alpha = 0;
	mc.onEnterFrame = function() {
		this._alpha += speed;
		title_mc._alpha += speed;
		if (this._alpha>=100) {
			delete this.onEnterFrame;
		}
	};
}
stop();


Последний раз редактировалось se7h; 23.05.2010 в 02:46.
Старый 23.05.2010, 17:58
rainbowrussia вне форума Посмотреть профиль Отправить личное сообщение для rainbowrussia Найти все сообщения от rainbowrussia
  № 5  
Ответить с цитированием
rainbowrussia
 
Аватар для rainbowrussia

Регистрация: Feb 2008
Сообщений: 560
Если я правильно понял у вас происходит следующее:
1) запрос на сервер для получения XML файла
2) запуск слайдшоу, не дожидаясь события xml onLoad, i = 0
3) как результат в первый раз (когда xml не в кеше браузера) запуск пустого слайдшоу

slideShow(i) нужно делать после того как обработали xml в событии onLoad

Старый 23.05.2010, 18:20
se7h вне форума Посмотреть профиль Отправить личное сообщение для se7h Найти все сообщения от se7h
  № 6  
Ответить с цитированием
se7h

Регистрация: May 2010
Сообщений: 6
Цитата:
Сообщение от rainbowrussia Посмотреть сообщение
Если я правильно понял у вас происходит следующее:
1) запрос на сервер для получения XML файла
2) запуск слайдшоу, не дожидаясь события xml onLoad, i = 0
3) как результат в первый раз (когда xml не в кеше браузера) запуск пустого слайдшоу

slideShow(i) нужно делать после того как обработали xml в событии onLoad
код с отображением изображений осуществляется в 5 кадре, считываение же xml - в первом

Старый 23.05.2010, 18:33
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 7  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Загрузка не моментальна.

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

Регистрация: Feb 2008
Сообщений: 560
Цитата:
Сообщение от se7h Посмотреть сообщение
код с отображением изображений осуществляется в 5 кадре, считываение же xml - в первом
В этом и проблема - без stop() в предыдущих кадрах пятый кадр может начать воспроизводиться до того как загрузятся XML данные. Сделайте stop() в первом кадре, где грузите XML, а в обработчике onLoad в конце процедуры сделайте gotoAndStop(5), либо совместите все в одном кадре, и в конце процедуры onLoad сделайте slideShow(i).


Последний раз редактировалось rainbowrussia; 24.05.2010 в 03:24.
Старый 24.05.2010, 12:57
se7h вне форума Посмотреть профиль Отправить личное сообщение для se7h Найти все сообщения от se7h
  № 9  
Ответить с цитированием
se7h

Регистрация: May 2010
Сообщений: 6
Цитата:
Сообщение от rainbowrussia Посмотреть сообщение
В этом и проблема - без stop() в предыдущих кадрах пятый кадр может начать воспроизводиться до того как загрузятся XML данные. Сделайте stop() в первом кадре, где грузите XML, а в обработчике onLoad в конце процедуры сделайте gotoAndStop(5), либо совместите все в одном кадре, и в конце процедуры onLoad сделайте slideShow(i).
сделал как Вы посоветовали - результат тот же...
trace проверил нормально ли отрабатывает xml - здесь все ок, массив заполняется как надо


думаю здесь дело в картинках, которые напросто не успевают загрузиться

как можно реализовать предварительную подгрузку изображений?


Последний раз редактировалось se7h; 24.05.2010 в 14:14.
Старый 24.05.2010, 19:33
rainbowrussia вне форума Посмотреть профиль Отправить личное сообщение для rainbowrussia Найти все сообщения от rainbowrussia
  № 10  
Ответить с цитированием
rainbowrussia
 
Аватар для rainbowrussia

Регистрация: Feb 2008
Сообщений: 560
У вас и так очередное изображение предварительно загружается, думаю дело не в этом. Выложите пожалуйста весь код в каждом кадре, который получился после применения совета "Сделайте stop() в первом кадре, где грузите XML, а в обработчике onLoad в конце процедуры сделайте gotoAndStop(5)". И дайте ссылку в инете, по которой у вас со второго раза только все срабатывает.

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

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

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


 


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


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