|
SWiSH Forum
Forum użytkowników programów SWiSH
|
Lekcja 26. Definicja własnej funkcji |
Autor |
Wiadomość |
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: Wto 23 Maj, 2006 12:14 Lekcja 26. Definicja własnej funkcji
|
|
|
Jeżeli w skrypcie często używasz niemal identycznych ciągów instrukcji, to może istnieje możliwość uproszczenia zapisu przy pomocy definiowanych funkcji.
Zapewne znasz już kilka zdefiniowanych w programie funkcji, takich jak, np. Math.randomInt() czy Number(). Dlaczego więc nie zdefiniować własnych, które będzie można wywołać w tak samo prosty sposób.
Aby móc korzystać z własnych funcji, muszą być spełnione dwa warunki. Po pierwsze funkcja musi zostać zdefiniowana, a po drugi musi zostać w skrypcie wywołana.
Składnia definicji funkcji jest następująca:
function nazwa ([argument1] [,argument2]) {
instrukcja;
}
Gdzie:
• nazwa – jest nazwą definiowanej funkcji,
• argument1, argument2 – są argumentami przekazywanymi do funkcji, na których będą wykonywane działania. Jednak nie są one obowiązkowe. Czyli można zdefiniować funkcję bez argumentów,
• instrukcja – instrukcja lub instrukcje do wykonania przez funkcję. Przykład definicji funkcji:
Kod: | function ZlaWartosc() {
trace("Wprowadzono złą wartość")
} |
Jeżeli masz w animacji wiele pól, do których użytkownik może wprowadzać własne dane, to gdy wpisz wartość niepoprawną, możesz teraz wywołać funkcję ZlaWartosc(), która spowoduje wyświetlenie odpowiedniego komunikatu w oknie Debug.
Spróbujemy teraz utworzyć prosty skrypt, zarówno z definicją funkcji, jak i jej wywołaniem:
Kod: | onLoad () {
x = 4;
Pierwiastek(x);
}
function Pierwiastek(a) {
if (a>0) {
trace(Math.SQRT(a));
} else {
trace("BŁĄD");
}
} |
Wiersz Pierwiastek(x) powoduje wywołanie funkcji o nazwie Pierwiastek i przekazanie do niej wartości, poprzez zmienną x. Wartość ta w funkcji Pierwiastek() zostanie podstawiona pod zmienną a. Jeżeli wartość przekazanej wartości będzie dodatnia, to funkcja wyświetli w oknie Debug wartość obliczonego pierwiastka, w przeciwnym razie, wyświetli tekst „BŁĄD”.
Funkcja może także zwracać obliczoną wartość. W tym celu muszą zostać wprowadzone dwie zmiany. Po pierwsze funkcja musi zostać podstawiona pod zmienną (lub użyta w innej instrukcji), a po drugie w funkcji należy użyć polecenia return:
Kod: | onLoad () {
wynik = 0;
minimum = 1;
maksimum = 6;
wynik=Kostka(minimum,maksimum);
trace(wynik);
}
function Kostka(x1,x2) {
return Int(Math.randomRange(x1,x2+1));
} |
Powyższy przykład umożliwia symulowanie rzutu kostką o dowolnej liczbie ścianek (określonych jako zmienne o nazwach minimum oraz maksimum). Funkcja obliczy losową wartość z podanego przedziału i zwróci wynik, przypisując go zmiennej wynik. |
|
|
|
|
rafciodz
Początkujący
Wiek: 49 Dołączył: 22 Sty 2008 Posty: 1 Skąd: Stargard Szczeciński
|
Wysłany: Sro 23 Sty, 2008 21:37 funkcje wbudowane swish'a
|
|
|
Witam, czytam sobie powolutku kurs, przymierzam się do kupienia programu. Na razie bawię się na wersji 15 dniowej.
Mam kilka pytań:
1. Czy mógłby Pan opisać funkcje wbudowane w swish'ie?
2. Na forum jest sporo o odczytywaniu plików itd, może przydałaby się lekcja na ten temat?
3. Skoro istnieje możliwość ( w swish'ie ) odczytania pliku, czy rzeczywiście nie ma możliwości poprzez podobną funkcję wykonania zapisu ( w helpie programu - jest load and write ) ale opisane jest load, może jest taka funkcja?
4. Pytanie troszkę z innej beczki, ile stanowisk obsługuje jeden zakupiony program ( gdzieś na stronie sprzedawcy wyczytałem że do 4 )??
5. Czy istnieje pomoc on line dla programu w razie problemów z instalacją itd?
6. Wracając do lekcji przydałyby się dokładne lekcje współpracy programu z bazami danych - mysql np. Czy da się to w miarę czasu zrobić??
Pozdrawiam. |
_________________ Free Your mind. |
|
|
|
|
|
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.41 sekundy. Zapytań do SQL: 13 |
|
|