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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.04.2007, 17:26
Dessano вне форума Посмотреть профиль Отправить личное сообщение для Dessano Найти все сообщения от Dessano
  № 1  
Ответить с цитированием
Dessano
[+4 25.04.07]

Регистрация: Aug 2005
Сообщений: 78
Отправить сообщение для Dessano с помощью ICQ
Вопрос. Какой должен быть скрипт для скрола фоток.
Фотки бирутса из ХМЛ файла.
Тоесть есть окошко размером к примеру 500 на 200 и в нем багают картинки слева на право и при MouseOver останавливаются. Собственно кокой для этого должен быть скрипт.

Люди не пенайти, :-) очень надо.

Нашол вот этот скрипт но как работает не разобрался.

Код:
// set random # variables - each must be 0 for first 'while' loop below
var randomNum = 0;
var randomNumLast = 0;

// parent container
var container_mc = this.createEmptyMovieClip("container",0);
// movie clip containers
container_mc.createEmptyMovieClip("loader1_mc",2);
container_mc.createEmptyMovieClip("loader2_mc",1);

// preload watcher
this.createEmptyMovieClip("watcher_mc",100);

// load xml
images_xml = new XML();
images_xml.ignoreWhite=true;
images_xml.onLoad = parse;
images_xml.load("covers2.xml");

function parse(success) {
	if (success) {
		imageArray = new Array();
		var root = this.firstChild;
		_global.numPause = Number(this.firstChild.attributes.timer * 1000);
		_global.order = this.firstChild.attributes.order;
		_global.looping = this.firstChild.attributes.looping;
		_global.fadetime = Number(this.firstChild.attributes.fadetime);
		_global.xpos = Number(this.firstChild.attributes.xpos);
		_global.ypos = Number(this.firstChild.attributes.ypos);
		var imageNode = root.lastChild;
		var s=0;
		while (imageNode.nodeName != null) {
			imageData = new Object;
			imageData.path = imageNode.attributes.path;
			imageArray[s]=imageData;
			imageNode = imageNode.previousSibling;
			s++;
		}
		// place parent container
		container_mc._x = _global.xpos;
		container_mc._y = _global.ypos;
		// parse array
		imageArray.reverse();
		imageGen(imageArray);
	} else {
		trace('problem');
	}
}

// depth swapping
function swapPlace(clip,num) {
	eval(clip).swapDepths(eval("container_mc.loader"+num+"_mc"));
}

function loadImages(data,num) {
	if (i==undefined || i == 2) {
		i=2;
		createLoader(i,data,num);
		i=1;
	} else if (i==1) {
		createLoader(i,data,num);
		i=2;
	}
}
function createLoader(i,data,num) {
	thisLoader=eval("container_mc.loader"+i+"_mc");
	thisLoader._alpha=0;
	thisLoader.loadMovie(data[num].path);
	watcher_mc.onEnterFrame=function () {
		var picLoaded = thisLoader.getBytesLoaded();
		var picBytes = thisLoader.getBytesTotal();
		if (isNaN(picBytes) || picBytes < 4) {
			return;
		}
		if (picLoaded / picBytes >= 1) {
			swapPlace("container_mc.loader2_mc",1);
			alphaTween = new mx.transitions.Tween(thisLoader, "_alpha", mx.transitions.easing.Regular.easeOut,0,100,_global.fadetime,true);
			timerInterval = setInterval(imageGen,_global.numPause,data);
			delete this.onEnterFrame;
		}
	}
}
function imageGen(data) {
	// random, or sequential?
	if (_global.order=="random") {
		// choose random # between 0 and total number of images
		while (randomNum == randomNumLast) {
			randomNum = Math.floor(Math.random() * data.length);
			trace(randomNum);
		}
		loadImages(data,randomNum);
		randomNumLast = randomNum;
	} else if (_global.order=="sequential") {
		// start at 0, increment to total number of images, then drop back to zero when done
		if (p==undefined || p==data.length && _global.looping=="yes") { p=0; } else { break; }
		loadImages(data,p);
		p++;
	} else {
		trace ("order attribute in xml isn't correct - must specify either 'random' or 'sequential'");
	}
	clearInterval(timerInterval);
}
stop();
Его вставлать в Мувиклип и как затем сделать контейнер для этого клипа?

Собственно вопрос отпал сам собой.

Но возник другой.

Скроллер я сделал и картинки ездят туда сюда, но я сделал это таким образом:

Код:
totalWidth = 0;
speed = 2;
logosHolder1.duplicateMovieClip("logosHolder2",this.getNextHighestDepth());
logosHolder2._x = -10000;
totalLogos = 12;
pressable = true;
onEnterFrame = function() {
	if(logosHolder1._x >= 10 && logosHolder2Started != true) {
		logosHolder2._x = 0 - logosHolder2._width;
		logosHolder2Started = true;
		logosHolderStarted = false;
	}
	if(logosHolder2._x >= 10 && logosHolderStarted != true) {
		logosHolder1._x = 0 - logosHolder1._width;
		logosHolderStarted = true;
		logosHolder2Started = false;
	}
}
Тоесть проигравается мувик в котором картинка.

Теперь вопрос в следующем, как сделать что бы этот мувик брал картинки из ХМЛ?


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

Регистрация: Jan 2006
Адрес: Сургут
Сообщений: 897
Отправить сообщение для MINASTIS с помощью Skype™
Это из разряда "поешьте за меня ложкой эту кашу"? Не будут же тебе здесь расписывать по строчке и разжевывать этот код. Нашел исходник - читай, проверяй, эксперементируй.


Чтобы изображения двигались в контейнере - маска 500x500, движение, перед этим загрузка всех картинок и на расстоянии друг их от друга просто в одну сторону двигаешь. И допустим скрипт работает если допустим
Код:
if (!rolled) {
скрипт
}
И чтобы останавливалось пишешь например
Код:
this.onRollOver = function () {
rolled = true;
}
this.onRollOut = function () {
rolled = flase;
}

Делаешь узлы в xml, с ссылками на изображениями. И все их загружаешь.


Последний раз редактировалось MINASTIS; 24.04.2007 в 19:14.
Старый 24.04.2007, 19:12
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 3  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
По умолчанию 9000

Чудесный монолог. А, что, кнопка уже не работает?
__________________
(и)Нильс.ru | Плагины для FlashDevelop


Последний раз редактировалось iNils; 24.04.2007 в 23:25.
Старый 24.04.2007, 20:04
Dessano вне форума Посмотреть профиль Отправить личное сообщение для Dessano Найти все сообщения от Dessano
  № 4  
Ответить с цитированием
Dessano
[+4 25.04.07]

Регистрация: Aug 2005
Сообщений: 78
Отправить сообщение для Dessano с помощью ICQ
Цитата:
Сообщение от MINASTIS
Это из разряда "поешьте за меня ложкой эту кашу"? Не будут же тебе здесь расписывать по строчке и разжевывать этот код. Нашел исходник - читай, проверяй, эксперементируй.


Чтобы изображения двигались в контейнере - маска 500x500, движение, перед этим загрузка всех картинок и на расстоянии друг их от друга просто в одну сторону двигаешь. И допустим скрипт работает если допустим
Код:
if (!rolled) {
скрипт
}
И чтобы останавливалось пишешь например
Код:
this.onRollOver = function () {
rolled = true;
}
this.onRollOut = function () {
rolled = flase;
}

Делаешь узлы в xml, с ссылками на изображениями. И все их загружаешь.
Народ помогите, вот ссылка на файло:
http://www.buddhism.ee/scroll.rar

Фаил вроде приатачил ХМЛ но ни в какую нехочет рабоать....

Очень прошу :-)

Люююдиии ну гляньти кому не лень...


Последний раз редактировалось iNils; 10.11.2007 в 07:20.
Старый 25.04.2007, 17:10
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 5  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Dessano получает плюс за игнорирование замечаний модератора о кнопке Изменить.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 25.04.2007, 21:26
MINASTIS вне форума Посмотреть профиль Отправить личное сообщение для MINASTIS Посетить домашнюю страницу MINASTIS Найти все сообщения от MINASTIS
  № 6  
Ответить с цитированием
MINASTIS
 
Аватар для MINASTIS

Регистрация: Jan 2006
Адрес: Сургут
Сообщений: 897
Отправить сообщение для MINASTIS с помощью Skype™
Что-то не вижу как ты его "приаттачил". В коде он даже не указан...
Скроллинг работает нормально, что не так?

Если ты дал исходник чтобы тебе с нуля с xml сделали -> Вакансии.

А так изучай объект XML. Для этого: Исходники на сайте, Help(f1), книги по AS.

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

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

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


 


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


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