|
SWiSH Forum Forum użytkowników programów SWiSH |
 |
SWiSH Max - Losowe przesunięcie
Marc - Nie 21 Mar, 2010 16:11 Temat postu: Losowe przesunięcie Witam. Jak jak zrobić za pomocą skryptu przesunięcie jakiegoś obiektu w losowe miejsce? Zależy mi na tym żeby obiekt nie pojawił się w losowym miejscu tylko do niego przesunął (najlepiej z powolnym wyhamowaniem). Zakres: 100 do (Stage.width - 100) i 100 do (Stage.height - 100). Jest możliwe zrobienie czegoś takiego? Z góry dziękuję za pomoc.
Januszr - Nie 21 Mar, 2010 17:39
Jest możliwe. Możesz zrobić sam albo zmodyfikować efekt, który masz w komponentach swisha. A jak tam odbicie w tym temacie:
http://swish.wodip.opole....opic.php?t=4920
Może zakończ jakoś tamten temat? Naprawiłeś czy nie? To co napisałem jest jasne czy nie?? Wiesz.. w sumie nie tylko Ty korzystasz z tego forum i inni też chcieliby wiedzieć czy problem rozwiązany został.
Marc - Pon 22 Mar, 2010 15:34
Strasznie skomplikowany ten skrypt :/ Ale wymyśliłem pewny o wiele prostszy i łatwiejszy skrypcik:
Kod: | onFrame (1) {
los = Math.random(500);
los2 = Math.random(500);
}
onSelfEvent (enterFrame) {
_y = Math.approach(_y, los, 0.65);
_x = Math.approach(_x, los2, 0.65);
} |
Tylko nie wiem jak wprowadzić do Mart.random ten zakres jakie podałem w 1 poście. (Scena zmienia swoje rozmiary w zależności od rozdzielczości). Ma ktoś może jakiś pomysł?
Januszr - Pon 22 Mar, 2010 16:35
Bo to skrypt obsługiwany przez GUI- tzw komponent. Kojarzysz okno parametrów, to które pojawić powinno się po przyciśnięciu CTRL+SHIFT+F3?
Marc - Pon 22 Mar, 2010 16:47
Tylko, że tam obiekt się nie zatrzymuje. Mój skrypt działa właśnie tak jak chcę i jest o wieeele prostszy. Tylko nie wiem jak się w Math.random ustawia zakres.
Edit: Rozwiązanie (zapewne da się jakoś ustawić ten zakres w Math.random ale można też tak gdyby ktoś chciał kiedyś):
Kod: | onFrame (1) {
losx = Math.random(Stage.width) + 100;
losy = Math.random(Stage.height) + 100;
if (losx >= (Stage.width - 100)) {
losx = losx - 100;
}
if (losy >= (Stage.height - 100)) {
losy = losy - 100;
}
}
onSelfEvent (EnterFrame) {
this._y = Math.approach(_y, losy, 0.9);
this._x = Math.approach(_x, losx, 0.9);
} |
|
|