PDA

Просмотр полной версии : Scrollpane VS movie clip


igor82
17.01.2007, 11:44
Привет всем!

Стоит следующая задача:

1) Есть Флэш ролик. В этом ролике есть MovieClip. В MovieClip есть контент...пусть это будет прямоугольник определенного размера допустим 200x200.

2) Допустим в первом фрейме всего ролика я создаю ScrollPane с размерами 100x100 и привязываю MovieClip к этому ScrollPane. Все как бы номально работает - я могу при помощи скроллбаров двигать MovieClip в созданном ScrollPane

3) Вопрос следующий...Вот например я хочу через ActionScript изменить размер MovieClip посредством изменения прямоугольника в нем да так чтобы при этом ScrollPane тоже эти изменения принял и соответственно скролил уже увеличенный MovieClip.

Другими словами я хочу динамически менять содержимое MovieClip так чтобы ScrollPane привязанный к этому MovieClip тоже эти изменения принимал и скроллился нормально.

Nirth
17.01.2007, 12:28
после изменения вызвать метод invalidate();

igor82
17.01.2007, 12:59
Ещё вопросик тогда. Что то не получается у меня с invalidate поэтому я решил попробовать динамически создать и мувиклип и scrollpane/ Не могу понять почему этот код некорректно работает. Все создается и привязывается и двигается как надо, но сам мувиклип выходит за пределы scrollpane. Этот ког можно прямо в новый Flash документ в первый фрейм скопировать не забыв при этом ScrollPane в библиотеку добавить :


/////////////////////////////////////////////////

// creating movieclip
my_mc=this.createEmptyMovieClip("my_mc", 0);
var my_mcl:MovieClipLoader = new MovieClipLoader();

// insert content (text and square)
var txt_obj=my_mc.createTextField("mytext_1", level, 0, y_coord, 300,50);
txt_obj.text="test"
my_mc.beginFill(0x99FF00, 100);
my_mc.moveTo(0, 0);
my_mc.lineTo(300, 0);
my_mc.lineTo(300, 300);
my_mc.lineTo(0, 300);
my_mc.lineTo(0, 0);
my_mc.endFill();


// creating ScrollPane and link it to MovieClip
var my_sp:mx.containers.ScrollPane;
var my_sp=this.createClassObject(mx.containers.ScrollPane, "my_sp", 10);
my_sp.setSize(150, 150);
my_sp.move(100,0);
my_sp.spContentHolder=my_mc;
//////////////////////////////////////////////////////////////////////////

Nirth
17.01.2007, 13:11
Вам предупреждение, за то что вы не прочитали правила форума.
код нужно оформлять тэгами