Mongolopedia Wolna Encyklopedia

Napisz więc to, co widziałeś, i to, co jest, i to, co potem musi się stać.

Narzędzia użytkownika

Narzędzia witryny


wiki:dla_edytujacych

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Poprzednia rewizja po obu stronach Poprzednia wersja
Nowa wersja
Poprzednia wersja
wiki:dla_edytujacych [2011/04/22 12:54]
freesz
wiki:dla_edytujacych [2011/04/21 22:00] (aktualna)
Linia 7: Linia 7:
 ==== Wprowadzenie do JavaScript + jQuery ==== ==== Wprowadzenie do JavaScript + jQuery ====
 === Podstawy === === Podstawy ===
-Cała gra powstaje w oparciu o HTML i JavaScript z biblioteką jQuery. JavaScript jest potężnym, a zarazem łatwym w użyciu językiem programowania, dającym nam bardzo duże możliwości. Począwszy od prostych kalkulacji i operacji na zmiennych, aż po zaawansowany rendering 3D. Biblioteka jQuery ułatwia nam tworzenie animacji i programowanie zdarzeń(wkrótce się wyjaśni, co to oznacza). Koniec więc z marudzeniem typu: "szkoda, że w naszej grze nie można tego zrobić". Technologie, które zdecydowałem się użyć, absolutnie nas nie ograniczają i pozwalają nam osiągnąć właściwie każdy rezultat(oczywiście wszystko jest kwestią czasu (};D-). Ale przechodząc do konkretów... JavaScript jest językiem C pochodnym, co oznacza, że jego składnia bazuje na tym właśnie języku. Może to być nowością dla osób, które znają jednie Pascala, ale myślę, że JavaScript, jest na tyle łatwa i intuicyjna, że nikt nie powinien mieć problemów z opanowaniem jej podstaw.+Cała gra powstaje w oparciu o HTML i JavaScript z biblioteką jQuery. JavaScript jest potężnym, a zarazem łatwym w użyciu językiem programowania, dającym nam bardzo duże możliwości. Począwszy od prostych kalkulacji i operacji na zmiennych, aż po zaawansowany rendering 3D. Biblioteka jQuery ułatwia nam tworzenie animacji i programowanie zdarzeń(wkrótce się wyjaśni, co to oznacza). Koniec więc z marudzeniem typu: "szkoda, że w naszej grze nie można tego zrobić". Technologie, które zdecydowałem się użyć, absolutnie nas nie ograniczają i pozwalają nam osiągnąć właściwie każdy rezultat(oczywiście wszystko jest kwestią czasu (};D-). Ale przechodząc do konkretów... JavaScript jest językiem C pochodnym, co oznacza, że jego składnia bazuje na tym właśnie języku. Może to być nowością dla osób, które znają jednie Pascala, ale myślę, że JavaScript, jest na tyle łatwa i intuicyjna, że nikt nie powinien mieć problemów z opanowaniem jej podstaw. Wszystkie instrukcje(przypisanie zmiennych, wywoływanie funkcji) w JS muszą kończyć się znakiem ";". JavaScript umożliwia umieszczanie komentarzy w kodzie. Służy do tego podwójny ukośnik(%%//%%). Jeżeli przeglądarka natknie się na ten symbol reszta linii zostanie potraktowana jako komentarz i pominięta.
 === Zmienne === === Zmienne ===
 JavaScript jest językiem(w przeciwieństwie do Pscala) dynamicznie typowanym. Oznacza to, że każda zmienna może przyjmować dowolne wartość. Spróbujmy posłużyć się przykładem. Wyobraźmy sobie zmienną a, zawierającą liczbę np. 5. W językach statycznie typowanych zmiennej tej nie moglibyśmy przypisać innej wartości niż jakiejś innej liczby. W JavaScripcie jednak nic nie stoi na przeszkodzie, aby stała się łańcuchem znaków. JavaScript jest językiem(w przeciwieństwie do Pscala) dynamicznie typowanym. Oznacza to, że każda zmienna może przyjmować dowolne wartość. Spróbujmy posłużyć się przykładem. Wyobraźmy sobie zmienną a, zawierającą liczbę np. 5. W językach statycznie typowanych zmiennej tej nie moglibyśmy przypisać innej wartości niż jakiejś innej liczby. W JavaScripcie jednak nic nie stoi na przeszkodzie, aby stała się łańcuchem znaków.
Linia 22: Linia 22:
  
 Definicja zaczyna się od słowa kluczowego var. Nie jest ono konieczne, ale lepiej je zawrzeć, ma to związek z zasięgiem zmiennych, nad którym jak powiedziałem na razie nie będę się rozwodzić. Następnie następuje nazwa zmiennej. Nazwa nie może się zaczynać od cyfry. Nazwa może zawierać litery, cyfry oraz znaki "_". Wielkość znaków w nazwie ma znaczenie. Nazwa nie może być żadnym ze słów kluczowych JS: abstract, boolean, break, byte, case, catch, char, class, const, continue, default, do, double, else, extends, false, final, finally, float, for, function, goto, if, implements, import, in, instanceof, int, interface, long, native, new, null, package, private, protected, public, return, short, static, super, switch, synchronized, this, throw, throws, transient, true, try, var, void, while, with. Definicja zaczyna się od słowa kluczowego var. Nie jest ono konieczne, ale lepiej je zawrzeć, ma to związek z zasięgiem zmiennych, nad którym jak powiedziałem na razie nie będę się rozwodzić. Następnie następuje nazwa zmiennej. Nazwa nie może się zaczynać od cyfry. Nazwa może zawierać litery, cyfry oraz znaki "_". Wielkość znaków w nazwie ma znaczenie. Nazwa nie może być żadnym ze słów kluczowych JS: abstract, boolean, break, byte, case, catch, char, class, const, continue, default, do, double, else, extends, false, final, finally, float, for, function, goto, if, implements, import, in, instanceof, int, interface, long, native, new, null, package, private, protected, public, return, short, static, super, switch, synchronized, this, throw, throws, transient, true, try, var, void, while, with.
-=== Operacje matematyczne ===+ 
 +Po nazwie zmiennej następuje operator przypisania jest to "=", a nie jak w Pascalu, ":=". Warto o tym pamiętać. Początkowi programiści często mylą operator przypisania: "=", z operatorem porównania: "==". Następnie określamy wartość zmiennej. Zmienne mogą przyjmować cztery typy wartości: liczby, ciągi znaków, tablice, tablice klucz - wartość. W poprzednim przykładzie zmiennej test, właśnie przypisaliśmy liczbę 5, jednak niekoniecznie musi to być liczba całkowita, aby przypisać do zmiennej liczbę zmiennoprzecinkową: 
 + 
 +'' 
 +var test2 = 5.54; 
 +'' 
 + 
 +Kolejnym typem wartości jest ciąg znaków. Zawartość ciągu może się zawierać pomiędzy znakami apostrofów: ' ', lub cudzysłowów "". Możemy używać tych oznaczeń zamiennie. Oto przykłady: 
 + 
 +'' 
 +var test3 = "Testowa zmienna. Mogę tu bez problemu używać znaków apostrofu ' ', ale nie mogę użyć tu znaku cudzysłowu.";\\ 
 +var test3 = 'Testowa zmienna. Mogę tu bez problemu używać znaków cudzysłowu "", ale nie mogę użyć tu znaku apostrofu.'; 
 +'' 
 + 
 +Trzecim typem wartości jest tablica. Tablice w JS są najogólniej rzecz biorąc zbiorem wartości dowolnych typów. Oto przykład: 
 + 
 +'' 
 +var tablica = [12, "Ciąg znaków", ['Test', 22], 4]; 
 +'' 
 + 
 +Kolejnym elementom tablicy są przypisywane kolejne liczby całkowite, poczynając od 0. Aby odczytać konkretny element tablicy używamy następującej składni:  
 + 
 +'' 
 +tablica[nr elementu]; 
 +'' 
 + 
 +Przykłady: 
 + 
 +'' 
 +var tablica = ['a', 54, 7, ["t", 5.5]];\\ 
 +tablica[0];%%//%%a\\ 
 +tablica[2];%%//%%7\\ 
 +tablica[3][0];%%//%%t 
 +'' 
 + 
 +Aby usunąć element z tablicy używamy słowa kluczowego delete. Jednak należy pamiętać, że JS nie zmienia zmienia numeracji w tablicy(jak usuniemy z tablicy pierwszy element drugi element **nie stanie** się pierwszym itd.), a usuniętą wartość zastępuje słowem kluczowym undefined(w JS undefined znaczy że dany element nie istnieje. Taką samą wartość zwróci nam program jeżeli zapytamy go o wartość niezdefiniowanej zmiennej) np. 
 + 
 +'' 
 +var tablica = ['a', 54, 7, ["t", 5.5]];\\ 
 +delete tablica[0];%%//%%Teraz tablica wygląda następująco: [undefined ,54, 7, ["t", 5.5]] \\ 
 +'' 
 + 
 +Ostatnim typem wartości jest tablica klucz - wartość. Jest ona bardzo zbliżona do tablicy, z tym że wartościom nie są przypisywane kolejno liczby, ale nazwy zdefiniowane przez użytkownika. Przykładowa definicja tablicy klucz - wartość: 
 + 
 +'' 
 +var obiekt = {test: "aaaa", test2:12, test3:["a", 12]} 
 +'' 
 + 
 +Zasady nazywania kluczy są identyczne jak zasady nazywania zmiennych. Wartość z tablicy klucz - wartość możemy odczytać na dwa sposoby: 
 + 
 +'' 
 +var obiekt = {test: "aaaa", test2:12, test3:["a", 12]}\\ 
 +obiekt.test%%//%%"aaaa"\\ 
 +obiekt["test2"]%%//%%12\\ 
 +obiekt.test3[0]%%//%%"a" 
 +'' 
 + 
 +=== Funkcje i operacje matematyczne ===
  
 === Instrukcje warunkowe i pętle === === Instrukcje warunkowe i pętle ===
wiki/dla_edytujacych.1303469642.txt.gz · ostatnio zmienione: 2011/04/21 22:00 (edycja zewnętrzna)