Menu

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.
bwo
Przelotem
Przelotem
Posty: 224
Rejestracja: wt cze 07, 2005 1:50 pm

Menu

Post autor: bwo »

Postanowiłem zrobić całą stronkę we Flashu, lecz dreczy mnie jeden mankament. Jaki jest najlepszy sposób na zrobienie menu, czyli mam kilka butonów i jak klikam na jeden to pojawia się jakiś MC np. info z kontaktem, a jak klikam na inny to wcześniejszy znika, a pojawia się kolejny,np. oferta.
Dzieki z góry za pomoc :)
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: Menu

Post autor: Marek_bf »

Na przykład tak: Klik
bwo
Przelotem
Przelotem
Posty: 224
Rejestracja: wt cze 07, 2005 1:50 pm

Re: Menu

Post autor: bwo »

Spoko, teraz mam baze do pytań :)

1.

Kod: Zaznacz cały

this["b" + i + "_mc"].i = i;
Po co to jest w definicji buttona?
2. Jak się robi te bloki z kwadracikami (Home, Str 1, Str 2, init) i co oznaczają te kwadraciki? Bo widze ich 2 rodzaje (zielony i czerwony)?

3. Bradziej prośba - chodzi mi jeszcze żeby był jakiś efekt, choćby najprostyszy, pojawiania sie i znikania tych MC - np. alpha.
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: Menu

Post autor: Marek_bf »

  • 1. Bo w uchwycie zdarzenia onRelease dla danego buttona zmienna (i) z pętli for nie jest dostępna, więc gdy w tym uchwycie chcemy odczytać kolejne wartości tablicy labelArr musimy użyć zmiennej o wartości identycznej, co wartość zmiennej i z pętli.
    this["b" + i + "_mc"].i = i; przypisuje w pętli każdemu buttonowi zmienna i z kolejną wartością iteracji.
  • 2. Klikasz na klatkę i w panelu Properties wpisujesz wartość w okienku Frame Label. Dzieki temu możesz się przemieszczać pomiędzy tymi klatkami podając ich nazwę. Poprzedzając wpis znakami // robisz z niego zwykły komentarz.
  • 3. :idea: A może tak trochę sam? :wink: Więcej się nauczysz :)
bwo
Przelotem
Przelotem
Posty: 224
Rejestracja: wt cze 07, 2005 1:50 pm

Re: Menu

Post autor: bwo »

1. Bez sensu, że nie jest dosptępne w pętli "i", no ale co tam... :)
2. Aha - mam to :)

3. No spróbuje :)

Dzieki ;]
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: Menu

Post autor: Marek_bf »

Wcale nie bez sensu, na tym polega zasięg zmiennych. I raczej pomaga a nie szkodzi.
Gdyby zmienna ta była dostępna z pętli dla tych MC, a same MC miały by już w sobie jakieś programowanie, które używałoby zmiennej i to wykonanie pętli zmieniłoby zmienną lokalna i dla każdego z tych MC i zakłóciło ich pracę. A tak możesz ustawić jakąś inna zmienną przechowująca wartości z pętli.

Kod: Zaznacz cały

this["b" + i + "_mc"].ojojoj = i;
zmienna i w MC nie zostanie zmieniona

Kod: Zaznacz cały

this["b" + i + "_mc"].onRelease = function() {
		this._parent.gotoAndStop(lebelArr[this. ojojoj]);
};
:)
bwo
Przelotem
Przelotem
Posty: 224
Rejestracja: wt cze 07, 2005 1:50 pm

Re: Menu

Post autor: bwo »

No ale w innych jezykach (przykładowo PHP) też ejst zasieg zmiennych, a można używać i w tej sytuacji w środku petli... no ale gdyby wszystkie języki byłyby podobne to byłoby za nudno :) W każdym razie nigdy wcześniej nie miałem do czynienia z AS, ani z JavaScript, wiec pewnie dlatego czuje sie jakoś niepewnie i dziwią mnie różnice od innych jeżyków :)

Zrobiłem coś takiego: Klik
Czy uważasz, że to dobre rozwiązanie?
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: Menu

Post autor: Marek_bf »

A czy w PHP jedna pod strona będzie widziała zmienną lokalna z innej pod strony, jeżeli jej nie przekażesz tej zmiennej? Nie. Potraktuj każdy MC jako taka właśnie niezależną pod stronę :)

No widzisz, rozwiązałeś problem z menu :) Rozwiązanie dobre, chociaż bym je uprościł i nie tworzył nowych MC z animacją końcową zrobiłbym w tych samych MC w klatkach ("Home", "Str 1", "Str 2") zatrzymywałbym ją w odpowiednim miejscu po odegraniu początku animacji w klatkach ("Home_sch", "Str 1_sch", "Str 2_sch") puszczał ją do końca.
Ogólnie wykombinowałeś dobrze :)
Na taką nawigacje są tysiące sposobów, trzeba wybrać taki żeby był jak najbardziej optymalny.
bwo
Przelotem
Przelotem
Posty: 224
Rejestracja: wt cze 07, 2005 1:50 pm

Re: Menu

Post autor: bwo »

Ale mi nie chodziło o kilka MC tylko o jeden i o jedną w nim pętlę - tak, żeby to i z deklaracji pętli było w niej możliwe do użycia - ALE w sumie jest możliwe bo kurcze przecież przypisujesz to i nowej zmiennej (this.b..._mc.i) :/ - wiesz co... jest jak jest - troche sie zamotałem, ale czaje o co chodzi mniej wiecej :) Po prostu taki niuasn, bo jeszcze sie z tym nie spotkałem... :) Człowiek sie uczy całe życie w koncu =]

A jeśli chodzi o nawigacje to wiesz... W każdym języku są problemy takie podstawowe i często spotykane, na których rozwiązanie ejst wiele algorytmów i trzeba sobie wybrać taki, który jest najlepszy, a co za tym idzie trzeba ich poznać jak najwiecej. Oczywiście można też samemu dojść do takiegoż :) W każdym razie racja, że dochodząc do dobrego rozwiązania SAMEMU dostajemy niezłą dawkę satysfakcji =]
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: Menu

Post autor: Marek_bf »

Pętlę tworzyłeś na _root a odczytywałeś dla MC b(numer)_mc, sam widzisz, że to nie to samo :) i z pętli jest zmienną lokalną.
Ostatnio zmieniony pn lip 25, 2005 8:45 pm przez Marek_bf, łącznie zmieniany 1 raz.
bwo
Przelotem
Przelotem
Posty: 224
Rejestracja: wt cze 07, 2005 1:50 pm

Re: Menu

Post autor: bwo »

A wiesz że masz racje =] Faktycznie - nie skojarzyłem ;] Zwracam honor :)
ODPOWIEDZ