Web-grafika (VRML) 10. gyakorlat Kereszty Gábor
Script típusok Elemi típusok: szám: egész vagy lebegőpontos – int / float – 1 / 1.1 string: ‘Hello World!’ logikai: {TRUE,FALSE} Változókra vonatkozó megkötések: azonosítók: nem lehetnek már használt csomópont, vagy utasítás nevei, és ({a-Z}U{_})({a-Z}U{0-9})* felépítésűek létrehozás: „var x=5;” vagy „x=5;” automatikus típuskonverzió van!
Script műveletek Összehasonlító:== != > >= < <= Aritmetikai:+ - * / % Bit-logikai:&(and), |(or), ^(xor), ~(negáció) a shiftelése balra b bittel a >b) Logikai: &&(and), ||(or), !(xor) Szöveges:+(konkatenáció) Konstruktor:new obj = new SFVec3f(0,1,2);
Script objektumok Tömb:tomb = new Array(5) 5 elemű tömb, a feltöltés határozza meg, hogy milyen típusú elemek tömbje. Pl: 5*5-ös tömb (feltöltés nélkül): for(i=0; i<tomb.length; i++){ tomb[i] = new Array(5);} length : tömb elemeinek száma concat(tomb2) : tomb és tomb2 összefűzése join(jel) : string típusú változót készít az elemekből, az elválasztójel (jel) alapértelmezésben a vessző reverse : elemek sorrendjét megfordítja sort : rendezi az elemeket slice(elso,utolso) : résztömböt ad vissza
Script objektumok Math: Konstansok: Math.E E=~2.71; LN2=~0.69; LN10=~2.302; LOG2E=~1.44; LOG10E=~0.43; PI=~3.14; SQRT1_2=~0.7; SQRT2=~1.41 Metódusok: Math.abs(x) abs(x), sin(x), cos(x), tan(x), asin(x), acos(x), atan(x) exp(x), log(x), pow(x,y), sqrt(x), min(x,y), max(x,y) Alsó-felső egész rész: floor(x), ceil(x) (x,y) vektor szöge: atan2(x,y) Kerekít: round() random()
Script objektumok Szöveg:s = ‘Hello World!’; vagy s = new String(‘Hello World!’); A „” helyett a scriptekben a ‘’ használatos!!! length : a szöveg hossza charAt(x) : az x. pozíción lévő betűt adja vissza split(SZ) : a stringet a Szeparátorok mentén feldarabolja és egy tömbként adja vissza substring(kezd,veg) : rész stringet ad vissza toLowerCase(), toUpperCase() : kis/nagy-betűssé alakít indexOf(szoveg, kezdet), lastIndexOf(szoveg, kezdet) : mintát keres a kezdet poziciótól (oda/vissza), a minta kezdő indexével tér vissza, különben -1-gyel
Script utasítások Belső függvény: nincs összekötve esemény kimenetével, vagy bemenetével. ‘return’ utasítással tér vissza az őt hívó utasításhoz. pl:function osszead(a,b,c){ return a+b+c;} Szimultán értékadás egy objektum mezőinek: width pl:obj = new SFVec3f(); width(obj){x=0;y=2;z=4;} Elágazás: if( feltétel ){ utasítás } else { utasítás }
Script utasítások Ciklusok:while( feltétel ) { ciklusmag; } for( inicializálás; feltétel; utasítás){ ciklusmag; } Kilépés:break; Újraindítás:continue;