![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
ScrollPane, кажется, в качестве contentPath принимает и URL…
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Принимает, да, но ведь только один? И что с ним дальше делать?
Здесь грузится много картинок и выстраивается в одну колбасу. Эту колбасу, понятно, надо скроллировать. udaaff предлагает воспользоваться скроллпейн. Мне интересно (теоретически) как? Я вижу только один вариант - пустой мувик из либы (ну если угодно, можно и с урла взять), а в нем уже через content создавать эти самые контейнеры под картинки. Мороки выше крыши - постоянно меняющийся размер контента например.И по мне так это некрасиво, скроллпейн. Для галереи во всяком случае.
__________________
Reality.getBounds(this); |
|
|||||
|
...
модератор форума
Регистрация: 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. |
|
|||||
|
все равно не помогает, скроллится только последняя картинка... че делать?
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);
}
|
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
В твоем коде никакой логики нету: при вызове функции создается контейнер, ссылка на него записывается в переменную container, и каждый раз ты записываешь в обработчик событий функцию
и каждый раз, при очередном вызове функции loader, этот обработчик перезаписывается, в итоге получится, по идее, что у тебя будет перемещаться только последний контейнер при нажатии на кнопку. Не нужно, короче говоря, пихать вообще этот код
butt.onRollOver = function() {
butt.onEnterFrame = function() {
container._y -= 10;
trace(container._y);
};
};
butt.onRollOut = function() {
delete eval(onEnterFrame);
};
Больше всего меня интересует смысл этой строчки: Последний раз редактировалось udaaff; 01.09.2007 в 23:03. |
|
|||||
|
Цитата:
поэтому можно немного по-подробнее, в частности про контейнеры. я так думаю их НЕ программно создавать нужно, тогда возникает трудность - нужно будет всегда добавлять субконтейнер при появлении новой картинки... |
|
|||||
|
...
модератор форума
Регистрация: 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);
}
|
|
|||||
|
респект, udaaff!!!
огромное спасибо, что помог разобраться |
![]() |
![]() |
Часовой пояс GMT +4, время: 04:20. |
|
|
« Предыдущая тема | Следующая тема » |
|
|