SWiSH Forum Strona Główna SWiSH Forum
Forum użytkowników programów SWiSH

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj  DownloadDownload

Poprzedni temat «» Następny temat
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ć... :shock: :shock: pewnie nie wystarczy, ale

BARDZO DZIĘKUJĘ !! ! :D :D :D

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 :lol: . 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 :swishmax 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 :swishmax będę mógł najwcześniej we wtorek.
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
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

Skocz do:  


Powered by phpBB modified by Przemo © 2003 phpBB Group
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