cała strona we flashu
cała strona we flashu
Witam.
Na początku chciałbym od razu zaznaczyć, że próbowałem szukać tego na forum ale nie wiedziałem nawet jakich słów kluczowych użyć. Interesuje mnie zorbienie strony jako jeden komponent flasha. A to wiąże sie z menu we flashu... Menu już sobie potrafie sam zrobić, tylko ze zwykle uzywalem tabelek htmla i iframe do której te przyciski sie odnosily. Jednak nie wiem co mam zrobić żeby po kliknieciu w jeden z przycisków w pewnym określonym obszarze mojej flashowej strony zmieniła by się treść czy animacja. Czy istnieje możliwość by ktoś mi to wytłumaczył, czy jest to bardzo złożona sprawa wymagająca długiej nauki action scriptów?
pozdrawiam
Muniek
Na początku chciałbym od razu zaznaczyć, że próbowałem szukać tego na forum ale nie wiedziałem nawet jakich słów kluczowych użyć. Interesuje mnie zorbienie strony jako jeden komponent flasha. A to wiąże sie z menu we flashu... Menu już sobie potrafie sam zrobić, tylko ze zwykle uzywalem tabelek htmla i iframe do której te przyciski sie odnosily. Jednak nie wiem co mam zrobić żeby po kliknieciu w jeden z przycisków w pewnym określonym obszarze mojej flashowej strony zmieniła by się treść czy animacja. Czy istnieje możliwość by ktoś mi to wytłumaczył, czy jest to bardzo złożona sprawa wymagająca długiej nauki action scriptów?
pozdrawiam
Muniek
Re: cała strona we flashu
To, co ma się wykonać po kliknieciu na przycisk określa się w uchwycie zdarzenia onPress lub onRelease.
Co ma się stać tego nie wie nikt oprósz twórcy aplikacji, moja rada:
Zapoznaj się w metodami pracy i narzędziami Flasha i zacznij poznawać ActionScript, żeby robić ciekawe strony nie trzeba wcale znać w 100% AS, należy znać jego solidne podstawy tak samo jak podstawy zasad rządzących w środowisku Flash.
Kod: Zaznacz cały
nazwaButtona.onRelease = function() {
// zrób to czy tamto
};Zapoznaj się w metodami pracy i narzędziami Flasha i zacznij poznawać ActionScript, żeby robić ciekawe strony nie trzeba wcale znać w 100% AS, należy znać jego solidne podstawy tak samo jak podstawy zasad rządzących w środowisku Flash.
Re: cała strona we flashu
dziękiKod: Zaznacz cały
nazwaButtona.onRelease = function() { // zrób to czy tamto };
myśle że można by było wstawić skrypt by załadował ten czy tamten clip w określonym miejscu... może mógłbym cię poprosić byś mi napisał jak ten konkretny skrypt mógłby wyglądać? Lub może jakis tutorial o tym przypadku gdzies mogłbym znalezc?
Re: cała strona we flashu
Ma początku polecam Ci wersję prostszą, umieść MovieClipu w poszczególnych klatkach na scenie głównej i przechodź do tych klatek za pomocą:
Kod: Zaznacz cały
nazwaButtona.onRelease = function() {
gotoAndStop("numer klatki");
}; Re: cała strona we flashu
wow!
no tak! czemu na to nie wpadłem
dzięki wielkie!
pozdrawiam
dzięki wielkie!
pozdrawiam
Re: cała strona we flashu
Mam problem dotyczący właśnie całej strony wykonanej we flashu. Uczyłem się na podstawie darmowego szablonu z jakiegoś templatemonster czy coś w tym stylu.
Strona zrobiona jest na takiej zasadzie, że jest główny swf do którego, poprzez przyciski menu, wczytywane są w odpowiednim miejscu inne swf-y (coś jak podstrony). Na stronie głównej - powiedzmy na samym środku - umieszczone są dwa przyciski menu. Po kliknięciu na przycisk wczytuje się podstrona (czyli jakiś inny swf) który zjamuje część powierzchni głównego swf-a w tym również wspomniane przyciski.
Tak więc klikam na przycisk, otwiera się na środku nowe okienko ze swoim tłem, itp., na nim jest jakiś tam tekst, jeżdże sobie przypadkiem myszką po tym tekście i widzę że kursor w niektórych miejscach zmienia ikonkę tak jakby najeżdżał na jakiś przycisk. Okazuje się, że kursor widzi te przyciski które są pod okienkiem które się właśnie otworzyło. Nie dość że je widzi to czywiście na nie reaguje.
Jak się tego mankamentu pozbyć, czyli jak zrobić aby otwarcie nowego swf-a/okienka fizycznie przykrywało powierzchnię głównego pliku i żeby kursor nie reagował wtedy na to co jest na stronie głównej ?
Strona zrobiona jest na takiej zasadzie, że jest główny swf do którego, poprzez przyciski menu, wczytywane są w odpowiednim miejscu inne swf-y (coś jak podstrony). Na stronie głównej - powiedzmy na samym środku - umieszczone są dwa przyciski menu. Po kliknięciu na przycisk wczytuje się podstrona (czyli jakiś inny swf) który zjamuje część powierzchni głównego swf-a w tym również wspomniane przyciski.
Tak więc klikam na przycisk, otwiera się na środku nowe okienko ze swoim tłem, itp., na nim jest jakiś tam tekst, jeżdże sobie przypadkiem myszką po tym tekście i widzę że kursor w niektórych miejscach zmienia ikonkę tak jakby najeżdżał na jakiś przycisk. Okazuje się, że kursor widzi te przyciski które są pod okienkiem które się właśnie otworzyło. Nie dość że je widzi to czywiście na nie reaguje.
Jak się tego mankamentu pozbyć, czyli jak zrobić aby otwarcie nowego swf-a/okienka fizycznie przykrywało powierzchnię głównego pliku i żeby kursor nie reagował wtedy na to co jest na stronie głównej ?
Re: cała strona we flashu
Dodać na końcu akcji zawartej w przyciskach akcje, która je wyłączy:
Ponownie włączyć je można:
Kod: Zaznacz cały
nazwaPrzycisku.enabled = false;Kod: Zaznacz cały
nazwaPrzycisku.enabled = true;Re: cała strona we flashu
Witam ponownie 
Wszystko już ładnie działa ale interesuje mnie jeszcze jedna sprawa. Chciałbym żeby się te działy ładnie przemieniały jeden w drugi i wymyśłiłem sobie że każdy dział będzie miał swoje zakończenie po przyciśnięciu któregokolwiek z przycisków zanim załaduje się kolejny dział.
Troche zamotałem ale ściślej to chodzi mi o to byś mógł mi powiedzieć czy jest możliwość by po naciśnięciu w button działo by się "play" i po kilku sekundach automatycznie przechodził do konkretnej klatki? Jest coś tkaiego jak "wait 3 seconds"?
p.s.
mam flash 2004 mx i musiałem ten kod troche zmodyfikować i w tym momencie wygląda tak:
Wszystko już ładnie działa ale interesuje mnie jeszcze jedna sprawa. Chciałbym żeby się te działy ładnie przemieniały jeden w drugi i wymyśłiłem sobie że każdy dział będzie miał swoje zakończenie po przyciśnięciu któregokolwiek z przycisków zanim załaduje się kolejny dział.
Troche zamotałem ale ściślej to chodzi mi o to byś mógł mi powiedzieć czy jest możliwość by po naciśnięciu w button działo by się "play" i po kilku sekundach automatycznie przechodził do konkretnej klatki? Jest coś tkaiego jak "wait 3 seconds"?
p.s.
mam flash 2004 mx i musiałem ten kod troche zmodyfikować i w tym momencie wygląda tak:
Kod: Zaznacz cały
on(release) {gotoAndStop (10); }Re: cała strona we flashu
Może napisze dlaczego nie może to działać tym sposobem do któego doszliśmy wczesniej...
Oto screenshot wycinka mojej strony na którym cała akcja ma się toczyć

Plan jest taki iż po naciśnieciu któregoś z przycisków strona się przewraca i na nastepnej stronie jest ten właśnie dział do którego dany przycisk sie odnosi.
Lecz problem tkwi w tym że gdy ktoś będąc np. w dziale "Misja" przejdzie do "Widok3d" to animacja nagle zmieni się że zamiast kartka z "misją" to znika kartka z działem "Wizja"... Więc wyglądało by to tylko jak należy gdyby osoba przechodziła z działu do działu po kolei, a wiadomo iż nie zawsze tak bedzie.
Więc wymyśliłem iż każdy z działów będzie miał 10 klatek:
w pierwszej będzie klip z otwieraniem się tego działu, a 9 kolejnych z pustą stroną która będzie przykrywać ten dział (zakończeniem). Więc efekt przy przechodzeniu do innych działów będzie taki iż najpierw nachodzi pusta kartka a potem kartka z innym działem w który się kliknęło.
A do tego potrzebuje właśnie skryptu który logicznie miałby wyglądać w ten sposób:
on release - play
wait 3 seconds
go to and stop "pierwsza klatka wybranego działu"
i potrzebuje by ktoś kto zna się na skryptach zamieniłby ten mój plan na działający actionscript.
pozdrawiam
Oto screenshot wycinka mojej strony na którym cała akcja ma się toczyć

Plan jest taki iż po naciśnieciu któregoś z przycisków strona się przewraca i na nastepnej stronie jest ten właśnie dział do którego dany przycisk sie odnosi.
Lecz problem tkwi w tym że gdy ktoś będąc np. w dziale "Misja" przejdzie do "Widok3d" to animacja nagle zmieni się że zamiast kartka z "misją" to znika kartka z działem "Wizja"... Więc wyglądało by to tylko jak należy gdyby osoba przechodziła z działu do działu po kolei, a wiadomo iż nie zawsze tak bedzie.
Więc wymyśliłem iż każdy z działów będzie miał 10 klatek:
w pierwszej będzie klip z otwieraniem się tego działu, a 9 kolejnych z pustą stroną która będzie przykrywać ten dział (zakończeniem). Więc efekt przy przechodzeniu do innych działów będzie taki iż najpierw nachodzi pusta kartka a potem kartka z innym działem w który się kliknęło.
A do tego potrzebuje właśnie skryptu który logicznie miałby wyglądać w ten sposób:
on release - play
wait 3 seconds
go to and stop "pierwsza klatka wybranego działu"
i potrzebuje by ktoś kto zna się na skryptach zamieniłby ten mój plan na działający actionscript.
pozdrawiam
Re: cała strona we flashu
Musisz pokombinować ze sterowaniem animacji (gotoAndStop, gotoAndStop) poprzez buttony czy też poprzez pozycję, w których animacja się znajduje.
Samo wykonywanie jakiejś akcji po określonym czasie można zrobić np. tak:
Samo wykonywanie jakiejś akcji po określonym czasie można zrobić np. tak:
Kod: Zaznacz cały
var intervalID = setInterval(function () {
clearInterval(intervalID);
gotoAndStop("klatka");
}, 3000); Re: cała strona we flashu
dziękuje ci bardzo
dodałem do tego play i już jest super 
Jeszcze raz wielkie dzięki.
pozdrawiam
Jeszcze raz wielkie dzięki.
pozdrawiam
Re: cała strona we flashu
Powracam z nowym problemem. Wszystko co poniżej opiszę dotyczy tego przykładu:
http://roberto.easyisp.pl/test.fla
Problemy są następujące:
1. Po kliknięciu na dowolną pozycję menu powinna się otwierać odpowiadająca mu animacja. W tej chwili jednak jest tak, że ładowanie się animacji uzależnione jest od kolejności warstw i jak kliknę Historię to ona się otworzy, potem klikam Kontakt i on też się otwiera, ale kiedy znowu kliknę historię to jej otwarcia nie widać gdyż otwiera się pod Kontaktem.
UnloadMovie tutaj nie zdaje egzaminu gdyż jeśli w kodzie przycisku np. Historia dam funkcję unloadującą animację Kontakt to potem po kliknięciu na Kontakt nic się nie dzieje (co chyba logiczne skoro zrobiłem kontakt_mc.UnloadMovie).
Próbowałem też dać gotoAndPlay i wskaząć odpowiednią klatkę animującą zamykanie się danego movie clipa no ale nie dam przecież w każdym przycisku kodu do odpowiednich klatek trzech pozostałych animacji
Szukałem więc czegoś uniwersalnego co umieszczone w jednej linijce kodu odładowałoby dowolny uprzednio pokazany movie clip. Bez rezultatu.
Pytanie brzmi więc: co zrobić aby klikając na poszczególne buttony zamykały/odładowały się uprzednio otwarte/załadowane movie clipy , tudzież w jakiś inny sposób zapobiec temu że w tej chwili ich widoczność zależy od kolejności warstw w których są umieszczone.
2. Jak widać, pod buttonem Oferta umieszczony jest dodatkowy movie clip na którym (o czym później) będą linki. Problem widoczny jest od razu: otóż pojawiający się movie clip znika jak tylko myszka zjedzie z właściwego buttona, a ja przecież chcę jeszcze na tym nowym prostokącie wybrać sobie jakieś pozycje z mojego menu.
Czyli pytanie proste: jak powstrzymać ten prostokącik przed zamykaniem się, aż do czasu wyboru jakiegoś linka który na nim będzie umieszczony, lub do czasu aż myszka zjedzie z tego prostokącika (a nie tylko z buttona).
3. Sprawa wspomnianych linków które będą umieszczone na wspomnianym prostokąciku wysuwającym się po kliknięciu na Ofertę. Klikając na dowolną pozycję owego menu powinna stać się następjąca rzecz: ów prostokącik się zamyka, a na tej głównej powierzchni strony otwiera się odpowiedni movie clip.
Choć wydaje mi się, że rozwiązanie tego rpoblemu nasunie się samo po rozwiązaniu problemu pierwszego gdyż pewnie będzie opierało się na tych samych zasadach.
Grzebałem wszędzie gdzie się da, zawaliłem sobie głowę różnymi informacjami, a na kompie zaroiło mi się od takich testowych plików *.fla w których próbowałem te problemy rozwiązać, ale wciąż z czymś mam problem więc nie chcę już walczyć z tym sam
http://roberto.easyisp.pl/test.fla
Problemy są następujące:
1. Po kliknięciu na dowolną pozycję menu powinna się otwierać odpowiadająca mu animacja. W tej chwili jednak jest tak, że ładowanie się animacji uzależnione jest od kolejności warstw i jak kliknę Historię to ona się otworzy, potem klikam Kontakt i on też się otwiera, ale kiedy znowu kliknę historię to jej otwarcia nie widać gdyż otwiera się pod Kontaktem.
UnloadMovie tutaj nie zdaje egzaminu gdyż jeśli w kodzie przycisku np. Historia dam funkcję unloadującą animację Kontakt to potem po kliknięciu na Kontakt nic się nie dzieje (co chyba logiczne skoro zrobiłem kontakt_mc.UnloadMovie).
Próbowałem też dać gotoAndPlay i wskaząć odpowiednią klatkę animującą zamykanie się danego movie clipa no ale nie dam przecież w każdym przycisku kodu do odpowiednich klatek trzech pozostałych animacji
Pytanie brzmi więc: co zrobić aby klikając na poszczególne buttony zamykały/odładowały się uprzednio otwarte/załadowane movie clipy , tudzież w jakiś inny sposób zapobiec temu że w tej chwili ich widoczność zależy od kolejności warstw w których są umieszczone.
2. Jak widać, pod buttonem Oferta umieszczony jest dodatkowy movie clip na którym (o czym później) będą linki. Problem widoczny jest od razu: otóż pojawiający się movie clip znika jak tylko myszka zjedzie z właściwego buttona, a ja przecież chcę jeszcze na tym nowym prostokącie wybrać sobie jakieś pozycje z mojego menu.
Czyli pytanie proste: jak powstrzymać ten prostokącik przed zamykaniem się, aż do czasu wyboru jakiegoś linka który na nim będzie umieszczony, lub do czasu aż myszka zjedzie z tego prostokącika (a nie tylko z buttona).
3. Sprawa wspomnianych linków które będą umieszczone na wspomnianym prostokąciku wysuwającym się po kliknięciu na Ofertę. Klikając na dowolną pozycję owego menu powinna stać się następjąca rzecz: ów prostokącik się zamyka, a na tej głównej powierzchni strony otwiera się odpowiedni movie clip.
Choć wydaje mi się, że rozwiązanie tego rpoblemu nasunie się samo po rozwiązaniu problemu pierwszego gdyż pewnie będzie opierało się na tych samych zasadach.
Grzebałem wszędzie gdzie się da, zawaliłem sobie głowę różnymi informacjami, a na kompie zaroiło mi się od takich testowych plików *.fla w których próbowałem te problemy rozwiązać, ale wciąż z czymś mam problem więc nie chcę już walczyć z tym sam
Re: cała strona we flashu
1. http://livedocs.macromedia.com/flash/mx ... 01556.html
2. http://forum.webinside.pl/viewtopic.php?t=8684
3. Po zamknięciu prostokącika, wywołaj odpowiednią akcję (w jego ostatniej klatce)
2. http://forum.webinside.pl/viewtopic.php?t=8684
3. Po zamknięciu prostokącika, wywołaj odpowiednią akcję (w jego ostatniej klatce)
Re: cała strona we flashu
Co do problemu pierwszego rozwiązanie swapDepths jakoś nie bardzo mi wychodzi.
Przyciski nazywają się kontakt_but, historia_but, glowna_but, a odpowiadające im movie clipy które się przez nie otwierają mają "mc" zamiast "but".
I teraz zaproponowane rozwiązanie próbowałem zastosować tak:
w warstwie akcje:
w danym buttonie:
lub ewentualnie
I żadne z nich nie działa, czyli robie źle.
Przyciski nazywają się kontakt_but, historia_but, glowna_but, a odpowiadające im movie clipy które się przez nie otwierają mają "mc" zamiast "but".
I teraz zaproponowane rozwiązanie próbowałem zastosować tak:
w warstwie akcje:
Kod: Zaznacz cały
kontakt_but.onRelease = function() {
kontakt_mc.swapDepths(historia_mc);
kontakt_mc.swapDepths(glowna_mc);
};
historia_but.onRelease = function() {
historia_mc.swapDepths(kontakt_mc);
historia_mc.swapDepths(glowna_mc);
};
glowna_but.onRelease = function() {
glowna_mc.swapDepths(historia_mc);
glowna_mc.swapDepths(kontakt_mc);
};Kod: Zaznacz cały
on (release) {
glowna_mc.gotoAndPlay(2);
function() {
this.swapDepths(10);
}
}Kod: Zaznacz cały
on (release) {
glowna_mc.gotoAndPlay(2);
function() {
glowna_mc.swapDepths(kontakt_mc);
}
}Re: cała strona we flashu
Co pokaże taki skrypt?:
Kod: Zaznacz cały
kontakt_but.onRelease = function() {
trace( kontakt_mc._name );
};