Thread View: alt.pl.programy.flash-5
7 messages
7 total messages
Started by mic49
Fri, 30 Nov 2007 15:23
Zamiana grafiki - ActionScript we Flashu
Author: mic49
Date: Fri, 30 Nov 2007 15:23
Date: Fri, 30 Nov 2007 15:23
15 lines
1717 bytes
1717 bytes
Witam, Nie znam się na Flashu, a muszę przerobić animację. Jeden z MovieClip- ów wygląda mniej więcej tak, że w jednej z kilku warstw mam zaimportowany napis w postaci pliku graficznego, który się w trakcie trwania staje przezroczysty (zanika). Chodzi mi o to, że w zależności od przesłanego parametru ze strony www - zmieniał się napis, tzn. jeśli parametr = 1, to niech wyświetla np. Tween 1, a jeśli parametr = 2, to niech wyświetla Tween 10. Wiem, jak przesłać parametry, ale jak zrobić, aby Flash zmieniał na ich podstawie plik graficzny zaimportowany do warstwy w MovieClip? Michał
Re: Zamiana grafiki - ActionScript we Flashu
Author: olo
Date: Fri, 30 Nov 2007 15:31
Date: Fri, 30 Nov 2007 15:31
14 lines
1271 bytes
1271 bytes
mic49 pisze: > Wiem, jak przesłać parametry, ale jak zrobić, aby Flash zmieniał na > ich podstawie plik graficzny zaimportowany do warstwy w MovieClip? > chcesz najprościej jak się da? Robisz XX tweenów i w zależności od parametru robisz gotoAndPlay(XX * dlugosc tweenu) :) -- pozdrawiam! http://webtrunki.pl - piwa, wina, wódki, domowe wyroby ZAPRASZAMY!!
Re: Zamiana grafiki - ActionScript we Flashu
Author: mic49
Date: Fri, 30 Nov 2007 17:09
Date: Fri, 30 Nov 2007 17:09
18 lines
1883 bytes
1883 bytes
> > chcesz najprościej jak się da? > Robisz XX tweenów i w zależności od parametru robisz gotoAndPlay(XX * > dlugosc tweenu) :) > Chyba tak się nie da, a już piszę dlaczego i przepraszam za język, ale znawcą Flasha nie jestem: - movieClip to u mnie kilka warstw, gdzie jakieś kółko się powiększa, pojawia się jakiś napis itp. w zależności od tego, czy użytkownik najedzie myszką na obiekt czy go naciśnie itd. Napis (w postaci pliku graficznego nazwanego Tween 1) jest zrobiony na jednej z warstw będącej częscią maski - ten napis jest w ruchu. Jak za pomocą języka skryptowego sprawić, aby ten właśnie napis został podmieniony na inny plik graficzny. Michał
Re: Zamiana grafiki - ActionScript we Flashu
Author: mic49
Date: Fri, 30 Nov 2007 17:33
Date: Fri, 30 Nov 2007 17:33
4 lines
1456 bytes
1456 bytes
A dokładnie chodzi mi o efekt, żeby za pomocą języka skryptowego sprawić, aby jedna warstwa wśród wielu po prostu była wygaszona. Michał
Re: Zamiana grafiki - ActionScript we Flashu
Author: olo
Date: Fri, 30 Nov 2007 17:54
Date: Fri, 30 Nov 2007 17:54
31 lines
2401 bytes
2401 bytes
mic49 pisze: > A dokładnie chodzi mi o efekt, żeby za pomocą języka skryptowego > sprawić, aby jedna warstwa wśród wielu po prostu była wygaszona. > > Michał ok. Ponieważ widzę, że albo nie bardzo wiesz co zaproponowałem, albo moje rozwiązanie zupełnie się nie sprawdzi w Twoim przypadku odpowiem na zadane pytania: 1. Dynamiczne wrzucenie obiektu na scenę: - prawy guzik na klipie w library, opcja linkage, ptaszek przy "export for ActionScript, w polu identyfier nadanie UNIKALNEGO identyfikatora (export in first frame domyślnie zaznaczona ma taką pozostać) - aby wrzucić dynamicznie klip na scenę potrzebne jest zaznajomienie się z attachMovie (lub movieClip.attachMovie) dostępne z poziomu helpa (na pewno wraz z przykładem - dasz sobie bez problemu radę) - pamiętaj, że pierwszym argumentem funkcji attachMovie jest ten unikalny identyfikator nadany w bibliotece, a drugim nazwa instancji (instance name) tego klipu na scenie 2. Nie da się zrobić tak by jedna warstwa była wygaszona - przynajmniej jako tako. Wygasić (obj._visible = false, bądź obj._alpha = xx) możesz tylko symbol (movieClip, button itp), więc w razie czego musisz sobie po prostu przerobić animację. -- pozdrawiam! http://webtrunki.pl - piwa, wina, wódki, domowe wyroby ZAPRASZAMY!!
Re: Zamiana grafiki - ActionScript we Flashu
Author: mic49
Date: Fri, 30 Nov 2007 20:07
Date: Fri, 30 Nov 2007 20:07
23 lines
2473 bytes
2473 bytes
>
> 1. Dynamiczne wrzucenie obiektu na scenę:
> - prawy guzik na klipie w library, opcja linkage, ptaszek przy "export
> for ActionScript, w polu identyfier nadanie UNIKALNEGO identyfikatora
> (export in first frame domyślnie zaznaczona ma taką pozostać)
> - aby wrzucić dynamicznie klip na scenę potrzebne jest zaznajomienie się
> z attachMovie (lub movieClip.attachMovie) dostępne z poziomu helpa (na
> pewno wraz z przykładem - dasz sobie bez problemu radę) - pamiętaj, że
> pierwszym argumentem funkcji attachMovie jest ten unikalny identyfikator
> nadany w bibliotece, a drugim nazwa instancji (instance name) tego klipu
> na scenie
>
Chyba to jest to, czego potrzebuję, Napisz mi jeszcze proszę, w jaki
sposób załączony obrazek kodem (w warstwie na klatce, gdzie rozpoczyna
się Motion):
this.attachMovie("Tween 1", "Tween 1", this.getNextHighestDepth());
spowodować, aby i ten obrazek "poddał" się ruchowi? Bo on po prostu
się pojawia, a ja chciałbym, aby przez kilka klatek był - od
niewidocznego i widocznego.
Jeszcze raz dziękuję,
Michał
Re: Zamiana grafiki - ActionScript we Flashu
Author: olo
Date: Fri, 30 Nov 2007 20:42
Date: Fri, 30 Nov 2007 20:42
37 lines
2629 bytes
2629 bytes
mic49 pisze:
> Chyba to jest to, czego potrzebuję, Napisz mi jeszcze proszę, w jaki
> sposób załączony obrazek kodem (w warstwie na klatce, gdzie rozpoczyna
> się Motion):
> this.attachMovie("Tween 1", "Tween 1", this.getNextHighestDepth());
> spowodować, aby i ten obrazek "poddał" się ruchowi? Bo on po prostu
> się pojawia, a ja chciałbym, aby przez kilka klatek był - od
> niewidocznego i widocznego.
i tu juz mogą zacząć się schodki bo elementy dodane w ten sposób nie
mogą zostać poddane żadnym tweenom na ścieżce czasowej. Pozostaje tylko
actionsctipt. Widzę, że używasz symboli typu graphic - wiem czym one się
różnią od movieClipa (wspólna listwa czasowa z rodzicem) ale ponieważ w
praktyce używam wyłącznie MC nie wiem jak programuje się te drugie
Teraz - w nazwach instancji nie możesz mieć spacji, więc "Tween 1" nie
jest prawidłową nazwą instancji. Zmień to na np. "tween1" i wtedy
tween1._alpha = 100;
tween1.onEnterFrame = function() {
this._alpha -= 1; //specjalnie taki zapis,
// żeby sobie można zmieniać szybkość
if (this._alpha <= 0) {
this._alpha = 0;
delete this.onEnterFrame;
}
}
jeśli powyższe nie zadziała to musisz zmienić typ Twojego "Tween 1" na
MovieClipa (podejrzewam, że ZUPEŁNIE NIC to nie zmieni, poza tym, że
powyższy kod zacznie działać)
--
pozdrawiam!
http://webtrunki.pl - piwa, wina, wódki, domowe wyroby
ZAPRASZAMY!!
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads