 |
SWiSH Forum
Forum użytkowników programów SWiSH
|
dwa "soundtracki" na jednej stronie. JAK PUŚCIĆ KO |
Autor |
Wiadomość |
Cubanpete
Początkujący

Dołączył: 25 Sie 2005 Posty: 2
|
Wysłany: Czw 25 Sie, 2005 21:48 dwa "soundtracki" na jednej stronie. JAK PUŚCIĆ KO
|
|
|
Przygotowuję przykładową animację w Swishmax. Mam już gotowe menu z zakładkami - po naciśnieciu zakładki wysuwa się strona z danym materiałem tekstowym. Zakładek jest 5. Mam plik muzyczny o nazwie "kredki" który jest odtwarzany ciągle po wczytaniu całej animacji i który jest słyszalny w trakcie działania wszystkich zakładek. Chciałbym jednak aby po wciśnięciu zakładki numer 4 plik muzyczny "kredki" wyłączał się a zamiast niego automatycznie włączał się inny plik muzyczny o nazwie "kotek".I kotek "leci" cały czas aż do momentu gdy przejdę do innych zakładek - wówczas "kotek" przestaje grać a zamiast niego włącza się automatycznie "kredki".
*****************************************
Ok. Z pomocą Pana Rolanda ustawiłem to co powyższe. Przypisałem dźwięk "kotek" do butona nr 4 a pozostałym butonom przypisałem "kredki". Wszystko działa. ALE....
Mam w animacji dwa inne przyciski i jeden z nich zatrzymuje muzykę a drugi puszcza. I teraz gdy jestem na zakładkach innych niż 4 to nie ma problemu z zatrzymaniem i włączeniem dźwięku bowiem przycisk do zatrzymania - ma scrypt:
onFrame (2,afterPlacedObjectEvents) {
stopAllSounds();
setLabel("stop")
stop();
}
a przycisk do puszczenia muzyki ma scrypt:
onFrame (1,afterPlacedObjectEvents) {
playSound("kredki",true,30,10000,true);
setLabel("graj");
stop();
}
MERITUM: GDY JESTEM NA ZAKŁADCE 4 I LECI "KOTEK" I WYŁĄCZAM PRZYCISKIEM DŹWIĘK, NIE MOGĘ GO JUŻ WŁĄCZYĆ Z POWROTEM BO WŁACZA MI SIĘ "KREDKI",
A NIE MOGĘ DAĆ:
playSound("kotek",true,30,10000,true);
bo wówczas na innych zakładkach będę, po nacisnięciu przycisku graj, miał kotka.
Wydaje mi się że przy przycisku "graj" będzie jakiś skrypt z "CONDITIONAL", coś a'la
while ( zakładka 4) playsound ("kotek")
ale nie wychodzi...:(
CO ZROBIĆ ŻEBY URUCHOMIĆ KOTKA !!!!!!!!!!!! |
|
|
|
 |
roland
Site Admin Roland Zimek


Wersja SWiSH: Max4
Pomógł: 31 razy Wiek: 58 Dołączył: 21 Sty 2005 Posty: 424 Skąd: Opole
|
Wysłany: Pią 26 Sie, 2005 07:36
|
|
|
Witam Pana po wymianie listownej korespondencji na Forum.
Rozwiązałem to w następujący sposób:
po pierwsze użyłem zmiennej o nazwie muzyka, której przypisuję wartość 1 lub 2 w zależności od tego, która muzyka aktualnie jest odtwarzana. Dzięki temu będę wiedział, której odtwarzanie wznowić gdy ją zatrzymam.
następnie utworzyłem duszka o nazwie SoundControl, któremu przypisałem następujący skrypt:
Kod: | onFrame (1) {
stop();
}
onFrame (2) {
stopAllSounds();
}
onFrame (3) {
stop();
}
onFrame (4) {
playSound("music1.mp3");
}
onFrame (5) {
stop();
}
onFrame (6) {
playSound("music2.mp3");
}
onFrame (7) {
stop();
} |
te wszystkie klatki ze stop() są potrzebne, aby duszek po wykonaniu polecenia z poprzedniej klatki nie wykonywał się dalej.
Następnie utworzyłem dwa przyciski Start i Stop. Przyciskowi Stop przypisałem skrypt:
Kod: | on (press) {
stopAllSounds();
} |
co jest chyba zrozumiałe.
Przycisk Start, zawiera następujący kod:
Kod: | on (press) {
switch (muzyka) {
case 1:
SoundControl.gotoAndPlay(4);
case 2:
SoundControl.gotoAndPlay(6);
}
} |
Warunek switch sprawdza jaką wartość ma zmienna muzyka i w zależności od tego wykonuje polecenie z określonej klatki duszka SoundControl.
Jako duszka SoundControl użyłem czerwonej gwiazdki, aby była dobrze widoczna. We właściwej animacji można przesunąć duszka poza obszar animacji lub wyłączyć widoczność gwiazdy w duszku. |
|
|
|
 |
Cubanpete
Początkujący

Dołączył: 25 Sie 2005 Posty: 2
|
Wysłany: Pią 26 Sie, 2005 22:16
|
|
|
Nie wiem co mam napisać... pewnie nie wystarczy, ale
BARDZO DZIĘKUJĘ !
Pańska pomoc jest nieoceniona.
***********
Ale gdybyśmy się wgłębili nieco w ten scrypt to czy na pewno wszystko w nim "gra"?
Daleki jestem od krytyki nawet konstruktywnej, a tak po prostu "szperam"
Bo dajmy na to co będzie gdy w animacji leci "music 1" a my:
1. naciśniemy "włącz music 2",
2. następnie przycisk"stop"
3. naciskamy "włącz music 1"
4.a następnie naciśniemy "start"
????
pozdrawiam Pana i dziekuję za pomoc, mam nadzieję że mogę pomysł skryptów wykorzystać w mojej niekomercyjnej animacji. |
|
|
|
 |
roland
Site Admin Roland Zimek


Wersja SWiSH: Max4
Pomógł: 31 razy Wiek: 58 Dołączył: 21 Sty 2005 Posty: 424 Skąd: Opole
|
Wysłany: Sob 27 Sie, 2005 18:57
|
|
|
Cytat: | czy na pewno wszystko w nim "gra" |
Wszystgo gra, bo miałem włączone głośniczki i słyszałem . A tak na poważnie, Skrypt działa tak jak wynikało, że miał działać z poprzedniego listu. Mogłem gdzieś się pomylić i podstawić do któręś ze zmiennych 1 zamiast dwójki lub podobnie. Jednak ogólna zasada skryptu jest raczej poprawna. Jednak domyślam, się, że chodzi o to jak się zachowa skrypt w niektórych przypadkach. To zależy od tego co ma robić. Wystarczy w takim przypadku dodać odpowiednie polecenia. Ale o tym trochę niżej.
Cytat: | Daleki jestem od krytyki nawet konstruktywnej, a tak po prostu "szperam" |
Każda krytyka jest cenna i zawsze z przyjemnością się z nią zapoznam.
Cytat: | Bo dajmy na to co będzie gdy w animacji leci "music 1" a my |
A jak ma skrypt się zachować? Ma w opisanym przypadku grać "muzyka" 1 czy 2. Bo jak się domyslam, to obecnie będzie grał utwór 1 (na tym komputerze, gdzie odpisuję, nie mam więc nie jestem pewien). W skrypcie dla przycisku Uruchamiającego odtwarzanie music1 jest podstawienie pod zmienną wartości 1. Więc po włączeniu START, wydaje mi się, że będzie grała muzyczka 1. Jeżeli jednak miałaby grać muzyczka 2, to wystarczyłoby dodać dodatkową zmienną przechowującą informację o tym, czy muzyka jest włączona, czy nie. Czyli dla przycisku STOP:
UWAGA! Wpisuję poniższe skrypty z głowy, więc mogą zawierać błędy!
Kod: | on (press) {
GraMuzyka=0;
stopAllSounds();
} |
Kod: | Dla START:
on (press) {
GraMuzyka=1;
switch (muzyka) {
case 1:
SoundControl.gotoAndPlay(4);
case 2:
SoundControl.gotoAndPlay(6);
}
} |
i oczywiście taki sam wiersz dopisać dla OnLoad().
W skryptach włączających muzyczki 1 i 2 dodać dodatkowy warunek. Na przykład przy włączaniu myzyczki 1:
Kod: | on (press) {
if (GraMuzyka==1) {
music=1;
stopAllSounds();
playsound("music1");
}
} |
i odpowiednio dla drugiego przycisku. Prosze sprawdzić dokładnie skrypt, bo "piszę z głowy".
Jeżeli jest coś nie tak lub skrypty mają inaczej działać, to proszę napisać, ale sprawdzić na będę mógł najwcześniej we wtorek. |
|
|
|
 |
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum
|
Dodaj temat do Ulubionych Wersja do druku
|
|
|
|
|
|
Nowe zasady dotyczące cookies. Wykorzystujemy pliki cookies, aby nasz serwis lepiej spełniał Państwa oczekiwania. Można zablokować zapisywanie cookies, zmieniając ustawienia przeglądarki.
| Strona wygenerowana w 0.14 sekundy. Zapytań do SQL: 11 |
|
|