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: Pon 22 Sie, 2005 10:58 Lekcja 12. Uproszczony zapis
|
|
|
Na chwilę zatrzymajmy się w poznawaniu nowych możliwości języka skryptowego i powiedzmy sobie o możliwościach uproszczenia niektórych złożonych zapisów.
Przykładowo zapis:
x = x+1
możemy uprościć zapisując:
x += 1;
Aby to przetestować, wprowadź poniższy kod w Scene_1:
Kod: | onLoad () {
x=10;
x+=1;
trace(x);
} |
W wyniku działania skryptu, w oknie karty Debug zostanie wyświetlona wartość 11.
W podobny też sposób działają zapisy:
x –= 1;
x *= 2;
x /= 2;
Trochę więcej kłopotów może przysporzyć używanie podwójnego znaku dodawania (++). Powoduje ono zwiększenie wartości zmiennej przy której zostało użyte o 1. Przykład:
Kod: | onLoad () {
y = 1;
x = ++y;
trace(x);
trace(y);
} |
spowoduje dwukrotne wyświetlenie wartości 2.
Jeżeli jednak podwójny plus umieścimy za nazwą zmiennej:
Kod: | onLoad () {
y = 1;
x = y++;
trace(x);
trace(y);
} |
to otrzymamy 1 (dla zmiennej x) i 2 (dla zmiennej y).
Zwróć uwagę, że przed podstawieniem, wartość zmiennej y wynosiła 1. Jeżeli przy podstawieniu wartości zmiennej y pod zmienną x, użyliśmy ++ na początku, spowodowało to zwiększenie wartości zmiennej y o 1 przed wykorzystaniem jej w podstawieniu.
Tak więc działa to w następujący sposób:
• x = ++y; – wartość zmiennej y jest zwiększana o 1, a następnie wynik ten jest podstawiany pod zmienną x,
• x = y++; – wartość zmiennej y jest najpierw podstawiana pod zmienną x, a dopiero później zostaje ona zwiększona o 1. W podobny sposób działa także podwójny znak odejmowania (––). Nie ma natomiast możliwości użycia innych znaków, jak na przykład podwójnego znaku mnożenia czy też dzielenia.
Możemy oczywiście używać takich zapisów w odniesieniu do właściwości obiektów (wpisujemy ten skrypt po uprzednim wybraniu obiektu Prostokat na karcie Outline):
Kod: | on (press) {
Prostokat._x += 10;
} |
spowoduje po każdym kliknięciu na obiekcie o nazwie Prostokat, przesunięcie go o 10 punktów w prawo. |
|