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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 01.09.2007, 17:34
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 21  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
ScrollPane, кажется, в качестве contentPath принимает и URL…

Старый 01.09.2007, 17:58
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 22  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Принимает, да, но ведь только один? И что с ним дальше делать? Здесь грузится много картинок и выстраивается в одну колбасу. Эту колбасу, понятно, надо скроллировать. udaaff предлагает воспользоваться скроллпейн. Мне интересно (теоретически) как? Я вижу только один вариант - пустой мувик из либы (ну если угодно, можно и с урла взять), а в нем уже через content создавать эти самые контейнеры под картинки. Мороки выше крыши - постоянно меняющийся размер контента например.
И по мне так это некрасиво, скроллпейн. Для галереи во всяком случае.
__________________
Reality.getBounds(this);

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

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Порылся в help: "contentPath indicates the content to load into the scroll pane. This value can be a relative path to a local SWF or JPEG file, or a relative or absolute path to a file on the Internet. It can also be the linkage identifier of a movie clip symbol in the library that is set to Export for ActionScript." Т.е. мувик можно грузить только из библиотеки, но ничто потом не мешает сделать, так, как ты и предложил -- загрузить в него контент:
Код:
System.security.allowDomain("http://www.helpexamples.com");

this.createClassObject(mx.containers.ScrollPane, "my_sp", 10);
my_sp.setSize(100, 100);
my_sp.contentPath = "my_mcID";

var container_mc:MovieClip = my_sp.content;

var content_mc:MovieClip = container_mc.createEmptyMovieClip("mc", container_mc.getNextHighestDepth());
content_mc.loadMovie("http://www.helpexamples.com/flash/images/image1.jpg");


Последний раз редактировалось udaaff; 01.09.2007 в 18:21.
Старый 01.09.2007, 22:37
dreaman вне форума Посмотреть профиль Отправить личное сообщение для dreaman Посетить домашнюю страницу dreaman Найти все сообщения от dreaman
  № 24  
Ответить с цитированием
dreaman

Регистрация: Dec 2005
Адрес: Chelabinsk
Сообщений: 6
Отправить сообщение для dreaman с помощью ICQ
все равно не помогает, скроллится только последняя картинка... че делать?
Код:
loader(10, 0, 1);
//
function loader(x0:Number, y0:Number, i:Number):Void {
//
var container:MovieClip = this.createEmptyMovieClip("tester_mc"+i, this.getNextHighestDepth());
container._y = y0;
container._x = x0;
//
var mclListener:Object = new Object();
mclListener.onLoadInit = function(target_mc:MovieClip) {
// --- рекурсия
loader(container._x, container._y+target_mc._height+5, ++i);

//////////////////////////// vot tut///////////////////////////////
butt.onRollOver=function(){
butt.onEnterFrame=function(){
	container._y-=10;
	trace(container._y);
}}
butt.onRollOut=function(){
	delete eval (onEnterFrame);
}
////////////////////////////////////////////////////////////////////

};
var image_mcl:MovieClipLoader = new MovieClipLoader();
image_mcl.addListener(mclListener);
image_mcl.loadClip("mypict_"+i+".jpg", "tester_mc"+i);
}

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

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
В твоем коде никакой логики нету: при вызове функции создается контейнер, ссылка на него записывается в переменную container, и каждый раз ты записываешь в обработчик событий функцию
Код:
function() {
				container._y -= 10;
				trace(container._y);
			};
и каждый раз, при очередном вызове функции loader, этот обработчик перезаписывается, в итоге получится, по идее, что у тебя будет перемещаться только последний контейнер при нажатии на кнопку. Не нужно, короче говоря, пихать вообще этот код
Код:
butt.onRollOver = function() {
			butt.onEnterFrame = function() {
				container._y -= 10;
				trace(container._y);
			};
		};
		butt.onRollOut = function() {
			delete eval(onEnterFrame);
		};
в функцию. Создай контейнер в _root и в нем создавай субконтейнеры для картинок, а не в _root. Ну и прокручивай, соответственно, главный контейнер.

Больше всего меня интересует смысл этой строчки:
Код:
delete eval(onEnterFrame);


Последний раз редактировалось udaaff; 01.09.2007 в 23:03.
Старый 01.09.2007, 23:34
dreaman вне форума Посмотреть профиль Отправить личное сообщение для dreaman Посетить домашнюю страницу dreaman Найти все сообщения от dreaman
  № 26  
Ответить с цитированием
dreaman

Регистрация: Dec 2005
Адрес: Chelabinsk
Сообщений: 6
Отправить сообщение для dreaman с помощью ICQ
Цитата:
Сообщение от udaaff
Больше всего меня интересует смысл этой строчки:
Код:
delete eval(onEnterFrame);
ну я пока только учусь и многова не понимаю...
поэтому можно немного по-подробнее, в частности про контейнеры. я так думаю их НЕ программно создавать нужно, тогда возникает трудность - нужно будет всегда добавлять субконтейнер при появлении новой картинки...

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

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Код:
var general:MovieClip = this.createEmptyMovieClip("general", this.getNextHighestDepth());
/*
  здесь: команды для передвижения general
*/
loader(0, 1);
//
function loader(x0:Number, i:Number):Void {
	//
	var container:MovieClip = general.createEmptyMovieClip("container"+i,general.getNextHighestDepth());
	container._x = x0;
	trace(container)
	//
	var mclListener:Object = new Object();
	mclListener.onLoadInit = function(target_mc:MovieClip) {
		// --- рекурсия
		loader(container._x+target_mc._width, ++i);
		//
	};
	var image_mcl:MovieClipLoader = new MovieClipLoader();
	image_mcl.addListener(mclListener);
	image_mcl.loadClip("image_"+i+".jpg", container);
}

Старый 02.09.2007, 00:27
dreaman вне форума Посмотреть профиль Отправить личное сообщение для dreaman Посетить домашнюю страницу dreaman Найти все сообщения от dreaman
  № 28  
Ответить с цитированием
dreaman

Регистрация: Dec 2005
Адрес: Chelabinsk
Сообщений: 6
Отправить сообщение для dreaman с помощью ICQ
респект, udaaff!!!
огромное спасибо, что помог разобраться

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

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

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


 


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


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