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
Lekcja 26. Definicja własnej funkcji
Autor Wiadomość
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: Wto 23 Maj, 2006 13: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.
 
 
     
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: 14