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

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

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

Регистрация: Dec 2006
Адрес: SPB
Сообщений: 9
Отправить сообщение для MariaS с помощью ICQ
По умолчанию Ошибка в слайд-шоу.

Суть вот в чем: картинки лежат на сервере, прилинкованными к статьям. Будет написан скрипт, который будет выдергивать линки на картинки и передавать их во флеш. Моя задача сделать само слайд-шоу (картинки показываются поочереди с задержкой). Сейчас оно у меня работает неправильно. Подскажите где ошибка. Вот код:

Код:
_global.imagePath = ["images/dagomys2.jpg", "images/snowy.jpg"];

clip.maxWidth = 550;
clip.maxHeight = 400;

time = 0;

function onEnterFrame()
{
	for (var i = 0; i <= imagePath.length; i++)
	{
  		if (getTimer() > time)
  		{
			_root.clip.loadImage(imagePath[i]);
    		time = getTimer() + 10000;
	  	}
  	}
}

clip.loadImage = function(file)
{
	this.image.removeMovieClip();
	this.createEmptyMovieClip("image", 0);
	this.image.loadMovie(file);
	this.onEnterFrame = function()
	{
		var l = this.image.getBytesLoaded();
		var t = this.image.getBytesTotal();
		if (t>0 && l>=t) {
			// загрузка закончилась
			delete this.onEnterFrame;
			this.resize();
		}
	};
};

clip.resize = function()
{
	var ratio_x = this.maxWidth/this.image._width;
	var ratio_y = this.maxHeight/this.image._height;
	if (ratio_x<=ratio_y) {
		// выполняем, если нужно уменьшить, 
		// или увеличить+увеличение разрешено
		if (ratio_x<1 || this.allowEnlarge) {
			// ширина равна максимальной
			// а высота в соответствии с пропорцией
			this.image._width = this.maxWidth;
			this.image._yscale = this.image._xscale;
		}
	} else {
		// выполняем, если нужно уменьшить, 
		// или увеличить+увеличение разрешено
		if (ratio_y<1 || this.allowEnlarge) {
			// высота равна максимальной
			// а ширина в соответствии с пропорцией
			this.image._height = this.maxHeight;
			this.image._xscale = this.image._yscale;
		}
	}
	// центровка
	this.image._x = Math.round((this.maxWidth-this.image._width)/2);
	this.image._y = Math.round((this.maxHeight-this.image._height)/2);
};
[iNils: Для оформления своего кода, надо использовать теги [code][/code]]
__________________
"Мы - то, что мы делаем постоянно" - Аристотель


Последний раз редактировалось iNils; 20.12.2006 в 03:12.
Старый 20.12.2006, 02:03
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 2  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
Как минимум:
- Юзаем MovieClipLoader
- i <= imagePath.length - не <= а <
- код в постах форума надо оформлять тегами
__________________
4am is time to rock

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

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

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


 


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


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