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
'losowe' zdarzenie czyli Math.randomInt()
Autor Wiadomość
nugatt 



Pomógł: 75 razy
Wiek: 42
Dołączył: 16 Maj 2005
Posty: 1389
Skąd: Warszawa
Wysłany: Wto 21 Cze, 2005 20:03   'losowe' zdarzenie czyli Math.randomInt()

na pisałem kiedyś coś na kształt tego:
Cytat:
onFrame (1,afterPlacedObjectEvents) {
b_random = Math.randomInt(4);
if (b_random==0) {
g = 1;
}
if (b_random==1) {
g = 2;
}
if (b_random==2) {
g = 3;
}
if (b_random==3) {
g = 4;
}
}
onFrame (2,afterPlacedObjectEvents) {
stop();
}
skrypt ten w losuje nam 1 z 4 liczb. użyłem funkcji Math.randomInt("liczba"). zamiast "liczby" wpisujemy jakąś... liczbę, gdy wpiszemy 5 to uzyskamy losowo wynik od 0 do 4. można po przeróbkach użyć do innych celow, np. losowego wyboru klatki w scenie,w spricie, ładowaniu losowego jpg do flasha, itp. ja miałem kiedyś cos takiego do mojego beat playera
Cytat:
onFrame (1,afterPlacedObjectEvents) {
bitch_random = Math.randomInt(9);
if (bitch_random==0) {
_parent.beatload.loadMovie("beat_01.swf");
_parent.preloader3.gotoAndPlay("prekaka2");
_parent.beat_mask.gotoAndStop(10);
_parent.beat_set.gotoAndStop(5);
}
if (bitch_random==1) {
_parent.beatload.loadMovie("beat_02.swf");
_parent.preloader3.gotoAndPlay("prekaka2");
_parent.beat_mask.gotoAndStop(11);
_parent.beat_set.gotoAndStop(15);
}
if (bitch_random==2) {
_parent.beatload.loadMovie("beat_03.swf");
_parent.preloader3.gotoAndPlay("prekaka2");
_parent.beat_mask.gotoAndStop(12);
_parent.beat_set.gotoAndStop(25);
}
if (bitch_random==3) {
_parent.beatload.loadMovie("beat_04.swf");
_parent.preloader3.gotoAndPlay("prekaka2");
_parent.beat_mask.gotoAndStop(13);
_parent.beat_set.gotoAndStop(35);
}
if (bitch_random==4) {
_parent.beatload.loadMovie("beat_05.swf");
_parent.preloader3.gotoAndPlay("prekaka2");
_parent.beat_mask.gotoAndStop(14);
_parent.beat_set.gotoAndStop(45);
}
if (bitch_random==5) {
_parent.beatload.loadMovie("beat_06.swf");
_parent.preloader3.gotoAndPlay("prekaka2");
_parent.beat_mask.gotoAndStop(15);
_parent.beat_set.gotoAndStop(55);
}
if (bitch_random==6) {
_parent.beatload.loadMovie("beat_07.swf");
_parent.preloader3.gotoAndPlay("prekaka2");
_parent.beat_mask.gotoAndStop(16);
_parent.beat_set.gotoAndStop(65);
}
if (bitch_random==7) {
_parent.beatload.loadMovie("beat_08.swf");
_parent.preloader3.gotoAndPlay("prekaka2");
_parent.beat_mask.gotoAndStop(17);
_parent.beat_set.gotoAndStop(75);
}
if (bitch_random==8) {
_parent.beatload.loadMovie("beat_09.swf");
_parent.preloader3.gotoAndPlay("prekaka2");
_parent.beat_mask.gotoAndStop(18);
_parent.beat_set.gotoAndStop(85);
}
}
onFrame (2,afterPlacedObjectEvents) {
stop();
}
możliwości jest wiele
_________________
tomekf /// swishmaxxx
 
 
     
roland 
Site Admin
Roland Zimek



Wersja SWiSH: Max4
Pomógł: 31 razy
Wiek: 57
Dołączył: 21 Sty 2005
Posty: 424
Skąd: Opole
Wysłany: Sro 29 Cze, 2005 06:08   

Podany przez Ciebie Skrypt można uprościć, jeżeli skorzysta się z tablicy, co jest szczególnie istotne, w przypadku wielu możliwich do wylosowania wariantów. Oto pierwszy z podanych przez Ciebie przykładów, z wykorzystaniem tablic:

Kod:
onFrame (1,afterPlacedObjectEvents) {
    tablica = new Array;
    tablica[0] = 1;
    tablica[1] = 2;
    tablica[2] = 3;
    tablica[3] = 4;
    b_random = Math.randomInt(4);
    g = tablica[b_random];
}
onFrame (2,afterPlacedObjectEvents) {
    stop();
}


Chcąc bardziej uprościć skrypt, można zadeklarować wartości tablicy w jednym wierszu:

Kod:
onFrame (1,afterPlacedObjectEvents) {
    tablica = new Array(1,2,3,4);
    b_random = Math.randomInt(4);
    g = tablica[b_random];
}
onFrame (2,afterPlacedObjectEvents) {
    stop();
}


W tym drugim przypadku, skrypt będzie działał jedynie dla animacji zapisanych w wersji co najmniej SWF5
 
     
nugatt 



Pomógł: 75 razy
Wiek: 42
Dołączył: 16 Maj 2005
Posty: 1389
Skąd: Warszawa
Wysłany: Sob 18 Lut, 2006 14:50   

w końcu uprościłem do tego:
Kod:
onFrame (1,afterPlacedObjectEvents) {
    boom = Math.randomInt(9);
    _parent.beatload.loadMovie("beat_0" add (boom + 1) add ".swf");
    _parent.beat_mask.gotoAndStop(boom + 10);
    _parent.preloader3.gotoAndPlay("prekaka2");
}
onFrame (2,afterPlacedObjectEvents) {
    stop();
}
gdy np. 'Math.randomInt()' wylosuje 3 to załaduje się plik 'beat_04.swf' a sprite 'beat_mask' przejdzie do klatki 13
_________________
tomekf /// swishmaxxx
 
 
     
adam.albrycht
Początkujący


Dołączył: 17 Wrz 2006
Posty: 8
Wysłany: Nie 17 Wrz, 2006 00:50   losowe ladowanie sceny

witam. problem jak w temacie. chcialbym na stronce umiescic swf'a z reklamami. ale nie chce zeby przy kazdej zmianie podstrony ladowalo sie od poczatku bo ktos moze nie zdazyc nigdy zobaczyc konca i chce zeby to to byly proste sceny i za kazdym razem jak sie laduje swf to laduje sie losowa scena. jak to zrobic?? z czego skorzystac?? nie umialem tu nic takiego znalezc. HELP z gory dzieki
 
     
BaGRoS 
Przyjaciel
Bielizna ;)


Wiek: 50
Dołączył: 24 Wrz 2006
Posty: 44
Skąd: POLSKA
Wysłany: Nie 26 Lis, 2006 19:38   

Jak losować x i y z zakresu wielkości filmu i ustawiać tam txt, a konkretnie "?", i zmieniać to co losową ilość klatek z zakresu min,max ?
Można użyć
onFrame (losowa) { }
??
_________________
8) BaGRoS 8)

Czujesz się dobry w SwishMAX?? Kliknij
 
 
     
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.11 sekundy. Zapytań do SQL: 15