Import .swf do innego projektu .fla.

Technologia Flash, czyli animacja na potrzeby stron WWW to świat daleko odbiegły od zwykłego programowania i kodu. Zapytaj o pomoc i podziel się z nami Twoimi problemami z zakresu Flasha.
xxverxx
Posty: 10
Rejestracja: śr sie 25, 2010 9:09 am

Import .swf do innego projektu .fla.

Post autor: xxverxx »

Witam. W FAQ znalazłem link do odpowiedzi, jednakże przekierowuje mnie on na stronę główną... Opcja szukaj też nie przyniosła odpowiedzi. Mam taki problem : robię stronkę w Adobe Flash CS5 (Trial) i mam gotową animację (.swf) w tym samym folderze co projekt .fla strony. Jak importuje do biblioteki i wrzucam na scenę, to animacja nie działa prawidłowo... :/ Proszę o pomoc. Z góry dziękuję.
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: Import .swf do innego projektu .fla.

Post autor: Marek_bf »

Import swf podczas edycji fla jest importem do biblioteki symboli z importowanego swf, nie zaś po to żeby ten swf niezależnie sobie istniał i działał w ponownie skompilowanym projekcie.

Jeśli chcesz wczytać swf do innego swf to musisz to zrobić za pomocą klasy Loader AcrionScriptu
xxverxx
Posty: 10
Rejestracja: śr sie 25, 2010 9:09 am

Re: Import .swf do innego projektu .fla.

Post autor: xxverxx »

No mam takie coś :

var myLoader:Loader=new Loader ();
btn1_btn.addEventListener(MouseEvent.CLICK, page1content);
function page1content(myevent:MouseEvent):void {
var myURL:URLRequest=new URLRequest("strona.swf");
myLoader.load(myURL);
addChild(myLoader);
}

I działa, ale niestety muszę klikać :/
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: Import .swf do innego projektu .fla.

Post autor: Marek_bf »

Kod: Zaznacz cały

var myLoader:Loader = new Loader ();
var myURL:URLRequest = new URLRequest("strona.swf");
myLoader.load(myURL);
addChild(myLoader);
xxverxx
Posty: 10
Rejestracja: śr sie 25, 2010 9:09 am

Re: Import .swf do innego projektu .fla.

Post autor: xxverxx »

Dziękuję. A możecie jeszcze napisać, jak teraz ten plik .swf ustawić w odpowiednie miejsce?? Bo w lewym górnym rogu się wyświetla ;/
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: Import .swf do innego projektu .fla.

Post autor: Marek_bf »

Kod: Zaznacz cały

const POZ_X:uint = 200;
const POZ_Y:uint = 100;
var URLswf:String = "strona.swf";
var myLoader:Loader = new Loader ();
//
function init(event:Event):void {
	var loader:Loader = Loader(event.target.loader);
	loader.x = POZ_X;
	loader.y = POZ_Y
}
//
myLoader.contentLoaderInfo.addEventListener(Event.INIT, init);
myLoader.load(new URLRequest(URLswf));
addChild(myLoader);
xxverxx
Posty: 10
Rejestracja: śr sie 25, 2010 9:09 am

Re: Import .swf do innego projektu .fla.

Post autor: xxverxx »

Mam jeszcze taki problem, że ten zaimportowany plik wykracza poza swoje pole :/. Tzn. widać różne rzeczy, które umieściłem poza stołem montażowym (w tym importowanym .swf). A one muszą być poza, ponieważ "napływają" na stół montażowy. Proszę o pomoc :/ Już parę dni się z tym męczę. W opcjach publikacji mam "Match Movie" (importowany swf).
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: Import .swf do innego projektu .fla.

Post autor: Marek_bf »

Ustaw początkowo dla nich visible=false a gdy mają być użyte visible=true

Kod: Zaznacz cały

jakismovieclip.visible=true
xxverxx
Posty: 10
Rejestracja: śr sie 25, 2010 9:09 am

Re: Import .swf do innego projektu .fla.

Post autor: xxverxx »

Hm, nie rozumiem. U mnie wszystko jest ładnie. SWF pojawia się w odpowiedniej chwili, tylko że w jego pliku FLA były umieszczone przedmioty poza stołem montażowym i teraz jak jest zaimportowany, to widać obok obszaru SWF'a jeszcze inne rzeczy. Czy jest możliwość, aby określić na jakim obszarze ma się wyświetlać?
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: Import .swf do innego projektu .fla.

Post autor: Marek_bf »

Jeśli scena wczytywanego swf jest mniejsza niż scena wczytującego swf to widać będzie to co ma poza brzegami, więc albo te elementy przesuń dalej, daj pod maskę albo wyłączaj i włączaj ich widoczność (visible) kiedy jest to konieczne
xxverxx
Posty: 10
Rejestracja: śr sie 25, 2010 9:09 am

Re: Import .swf do innego projektu .fla.

Post autor: xxverxx »

Coś dalej jest nie tak... Na podglądzie lokalnie jest wszystko ok, nie widać części poza stołem montażowym (zastosowałem maskę). Jednak gdy wrzucę na serwer, to jakby maska przestawała działać i widać wszystko :/.
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: Import .swf do innego projektu .fla.

Post autor: Marek_bf »

Może wymiary okna lokalnego i okna w przeglądarce są różne?

Może w przeglądarce masz stary FlashPlayer?
xxverxx
Posty: 10
Rejestracja: śr sie 25, 2010 9:09 am

Re: Import .swf do innego projektu .fla.

Post autor: xxverxx »

Już jest dobrze, widocznie musiało się namyśleć, bo jak wyłączyłem komputer i po jakimś czasie włączyłem, to już jest dobrze. Dziwne, ale najważniejsze, że działa.

Mam jeszcze pytanko, czy jednym loaderem można załadować drugi zewnętrzny plik .swf i umieścić go w innym miejscu? Próbowałem tak zrobić, ale udało mi się tylko w osobnym loaderze i to w tym miejscu co tamten xD. Czekam już tak długo na książkę o AS3, bo mało ogarniam :/ sorry.
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: Import .swf do innego projektu .fla.

Post autor: Marek_bf »

xxverxx pisze:Już jest dobrze, widocznie musiało się namyśleć, bo jak wyłączyłem komputer i po jakimś czasie włączyłem, to już jest dobrze. Dziwne, ale najważniejsze, że działa.
Bufory pamięci sie wyczyściły.

Tutaj masz loader, który kolejkuje i wywołuje akcje dopiero po załadowaniu wszystkich zadanych elementów:
http://www.bannerflash.pl/examples/loader_kolejkujacy/
xxverxx
Posty: 10
Rejestracja: śr sie 25, 2010 9:09 am

Re: Import .swf do innego projektu .fla.

Post autor: xxverxx »

Niezbyt ogarniam ten loader. Ale radzę sobie przy użyciu osobnych do każdego swf'a. Tylko nie wiem, czy parę loaderów nie spowalnia odtwarzania??
ODPOWIEDZ