|
SWiSH Forum
Forum użytkowników programów SWiSH
|
'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: 58 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) { }
|
_________________ BaGRoS
Czujesz się dobry w SwishMAX?? Kliknij |
|
|
|
|
|
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.1 sekundy. Zapytań do SQL: 15 |
|
|