WebGLBasic parancsok

Transzformáció Geometria Felszín Környezet Matematika Vezérlés Animáció
hely
forgás
méret
jobbra
balra
fel
le
hátra
előre
csoport
másolat
térkép.elem
térkép.rács
térkép
limit
véletlen.másolat
gömb
téglatest
téglalap
henger
egyenes
háromszög
háromszög.vége
alakzat
terra.start
obj.start
pontfelhő
2dszöveg
3dszöveg
szín
anyag
rgb
textúra
átlátszó.textúra
textúratömb.start
nomap
bump
normal
részecske
lámpa
direkfény
árnyék
szöveg
info
kamera
beállítások
égbolt
égboltszín
disp
vonalzó
pic
debug0
debug1
debug2
image
canvas
vezérlés
ütközés
debug
változó
alapműveletek
polar
függvények
FOR
kulcs
animáció
animáció.hely
animáció.forgás
animáció.méret
be
ki
invert

hely(x,y,z)




Ezzel az utasítással tudod megadni az utána következő 3D objektumok helyét.
x : vízszintes koordinára
y : függőleges koordináta
z : mélységi koordináta

Az x,y,z helyett változók is használhatók.

Pl.:

forgás(sx,sy,sz)




Ezzel az utasítással tudod megadni az utána következő 3D objektumok forgatási szögét.
A szög értéke jobbra növkszik.

sx : forgatás az x tengely körül sx szöggel (0..360)
sy : forgatás az y tengely körül sy szöggel (0..360)
sz : forgatás az z tengely körül sz szöggel (0..360)

Az sx,sy,sz helyett változók is használhatók.

Pl.:

méret(mx,my,mz)




Ezzel az utasítással tudod megadni az utána következő 3D objektumok relatív méretét.
Alapesetben a méret 1. Ennél nagyobb érték nyújtja, kisebb értéke zsugorítja a testet a megadott irányban.

mx : a test x irányú mérete mx szeresére nyúlik.
my : a test y irányú mérete my szeresére nyúlik.
mz : a test z irányú mérete mz szeresére nyúlik.

Az mx,my,mz helyett változók is használhatók.

Pl.:

jobbra(dx)




Az utolsó hely x koordinátáját növel a dx értékével.
A dx helyett változó is használható.

Pl.:

balra(dx)




Az utolsó hely x koordinátáját csökkenti a dx értékével.
A dx helyett változó is használható. Lásd a jobbra utasításnál!

fel(dy)




Az utolsó hely y koordinátáját növeli a dy értékével.
A dx helyett változó is használható. Lásd a jobbra utasításnál!

le(dy)




Az utolsó hely y koordinátáját csökkenti a dy értékével.
A dx helyett változó is használható. Lásd a jobbra utasításnál!

hátra(dz)




Az utolsó hely z koordinátáját növeli a dz értékével.
A dx helyett változó is használható. Lásd a jobbra utasításnál!

előre(dz)




Az utolsó hely z koordinátáját csökkenti a dz értékével.
A dx helyett változó is használható. Lásd a jobbra utasításnál!

csoport




A csoport utasítással új néven létre lehet hozni egy objektumot.
Utána a csoport.add utasítással kell a csoporthoz rendelni a meglévő geometriákat.
Végül a csoport.vége utasítással zárjuk le a csoportot.


Pl.:

másolat(NÉV)




Másolatot készít a megadott nevű objektumról. Az objektumot előzőleg létre kell hozni!
A másokat mérete, helye, forgási szöge előzőleg módosítható, de színe, textúrája nem!


Pl.:

térkép.elem(C,NÉV)




A C karakterhez kapcsolja a NÉV nevű 3D objektumot. A C karakter bármilyen ASCII karakter lehet, kivéve a szóköz.
Az így megadott karaktereket használhatjuk később a "térkép" utasításban a mintázat megadására.
A példában a hengert a H, a hömböt a G karakter helyettesíti majd a "térkép" utasításban.

Pl.:

térkép.rács(dX1, dY1, dZ1, dX2, dY2, dZ2,)




Az első 3 paraméter megadja, hogy a "térkép" utasításon belül a következő objektumot mennyivel kell eltolni az előhöz képest.
Az első elem koordinátáit a HELY utasítás adja meg. A példában (-5,0,-4). A következő elem a (-3,0,-4) helyre kerül, mert a dX1=2, a többi eltolás meg nulla.
A következő elem X koordinátája megint 2-vel lesz nagyobb, vagyis -1.
A második "térkép" utasítás eltolása az elsőhöz képest a dX2,dY2,dZ2 paraméterekkel adható meg.
A pédába dZ2 = 2, tehát minden újabb sornyi "térkép" utasítás 2 egységgel előre lesz eltolva.

Pl.:

térkép(HH GG)




A térkép utasítás lemásolja a megadott karakterekhez rendelt objektumokat (térkép.elem) a (térkép.rács) utasításban megsott eltolással.
Szóköz karakter esetén nem másol semmit az adott pozícióba.
Hibás lesz a fordítás, ha előzőleg nem rendeltünk objektumokat a felhasznált karakterekhez!

Pl.:

limit




pontosabban
limit.x(NEV,MIN,MAX,DELTA)
limit.y(NEV,MIN,MAX,DELTA)
limit.z(NEV,MIN,MAX,DELTA)

Limitálja, vagyis korlátozza a NEV nevű objektum valamelyik koordinátáját.
A példába egy animáció folyamatosan mozgatná a KOCKA nevű objektumot a x=-10 ponttól az x=10 pontig.
A "limit" utasítás viszont nem engedi az x koordinátát -5 alá, és 5 fölé.
Sőt a DELTA érték is megadva a mozgás már nem lesz folyamatos, hanem csak a megadott "rácsra" ugrik a KOCKA.


Pl.:

véletlen.másolat(NÉV,DARAB)




Összetett utasítás, amely az előzetesen megadott véletlen adatok alapján másolatokat készít az erdeti objektumból.

NÉV: Egy tetszőleges objektum neve, amit előzetesen megadtunk.
DARAB: A másolatok száma

Előzetesen a hely, a forgás, a méret véletlen mértéke adható meg:

véletlen.hely(x0,y0,z0,dx,dy,dz)
Az (x0,y0,z0) középpont körül nulla, és (dx,dy,dz) maximális mértékben szórja a másolatokat véletlenszerűen.

véletlen.forgás(sx,sy,sz,dsx,dsy,dsz)
Az (sx,sy,sz) alapszöget módosítja véletlenszerűen (dsx,dsy,dsz) maximális mértékben.

véletlen.méret(mx,my,mz,dmx,dmy,dmz)
Az (mx,my,mz) alapméretet módosítja véletlenszerűen (dmx,dmy,dmz) maximális mértékben.



Pl.:

gömb(R,SZ)




R: a gömb sugara
SZ: szegmensek száma

Pl.:

téglatest(x,y,z)




Az utasítás helyett használható a rövidebb változatai is: tégla(x,y,z)
A három paraméter a téglatest x,y, és z kiterjedését adja meg. Kockát kapunk, ha mindhárom egyforma.
A hely koordinátái a téglatest középpontjára vonatkoznak.

Pl.:

téglalap(SZ,M)




Az x;y síkra rajzol egy SZ szélességű, M magasságú téglalapot.

Pl.:

henger(R1, R2, M, SZ)




Használható, henger, kúp, sokszög alapú haság, és sokszög alapú kúp rajzolásásra

R1: Felső lap sugara
R2: Alsó lap sugara
M: Magasság
SZ: Szegmensek száma (Nem kötelező megadni)

Kúp rajzolása esetén R1 legyen 0!
Sokszög alap esetén a szegmensek száma 3..10 között legyen.

Pl.:

egyenes(SZÍN,A,B)




Az egyenes rajzoló blokk több utasításból áll. Az elején van az "egyenes" utasítás, a végén az "egyenes.vége" utasítás.
Közte a "pont" utasítások, amelyek megadják az egyenes szakasok elejét, és végét.

SZÍN: Csak HTML színkód lehet.
A: folyamatos részek hossza
B: üres részek hossza

A második, és a harmadik paraméterekkel lehet szaggatott, vagy pontozott vonalat készíteni. Alapesetben fehét folyamatos egyenest rajzol.

Pl.:

háromszög()




Az háromszög rajzoló blokk több utasításból áll. Az elején van a "háromszög" utasítás, a végén az "háromszög.vége" utasítás.
Közte 3db "pont" utasítás.

Pl.:

háromszög.vége(IR,AX,AY,BX,BY,CX,CY)




A "háromszög.vége" utasítással lehet egyéni textúra mappot rendelni a sík laphoz.
Minden csúcshoz a textúra egyik pontja kapcsolódik. Alapesetben a következő MAP működik:

1. csúcs --> MAP 0,0 pontja
2. csúcs --> MAP 0,1 pontja
3. csúcs --> MAP 1,1 pontja

A csúcsokat úgy kell megani, hogy az óramutató járásával egyezően jobbra haladjanak. Ez módosítható az első paraméterrel.

Paraméterek:
IR: A körbejárás irányát adja meg. Lehet "bal", vagy "jobb".
AX: Az 1. csúcshoz rendelt textúra x koordinátája (0..1)
AY: Az 1. csúcshoz rendelt textúra y koordinátája (0..1)
BX: Az 2. csúcshoz rendelt textúra x koordinátája (0..1)
BY: Az 2. csúcshoz rendelt textúra y koordinátája (0..1)
CX: Az 3. csúcshoz rendelt textúra x koordinátája (0..1)
CY: Az 3. csúcshoz rendelt textúra y koordinátája (0..1)

Pl.:

alakzat()




Összetett utasítás, a végét az "alakzat.vége(M)" utasítással kell lezárni.
A "M" paraméter lesz az alakzat vastagsága.

Közben a "PONT" utasítással kell magadni az XY síkon az alakzat pontjait.

Pl.:

terra.start(SZ,MA,SX,SY,MZ)




Összetett utasítás, a végét az "TERRA.END()" utasítással kell lezárni.
Közben a vesszővel elválasztva kell felsorolni a magasságadatokat.

SZ: a geometria szélessége (x irányban)
MA: a geometria magassága (y irányban)
SX: szegmensek száma x irányban
SY: szegmensek száma y irányban
Mz: z irányú szorzőtényező

A példában 3 részre (szegmensre) oszlik az x, és az y irányban is a geometria, ezért 4 oszlopban, és 4 sorban kell felsorolni az egyes pontok magasságát

Pl.:

obj.start()




Összetett utasítás, a végét az "OBJ.END()" utasítással kell lezárni.

Szabványos OBJ formátumú szövegfájlból másolható a START, és az END közé a geometriát leíró utasítások, vagy kézzel is kódolhatók az egyszerűbb felüketek.
Először a pontokat, vertexeket kell megadni x,y,z koordinátákkal.
Ez négy pont felsorolva. Az első sorszáma 1, az utolsó 4.

v -1 0 0
v 0 3 0
v 1 0 0
v 0 -3 0

Ezután kell a pontok összekötését megadni, azaza a felületek (face) definiálásával.
A példában két háromszög kialakítását látjuk. Ebben az esetben nem lehet textúrát használni, csak a színét lehet megadni.

f 1 2 3
f 1 3 4

Textúra esetén a pontok számával megegyező textúra map leíró utasítást kell használni.

vt 0 0.5
vt 0.5 1
vt 1 0.5
vt 0.5 0
A felületek megadásánál a map leíró indexeket is hozzá kell kapcsolni a felületekhez.

f 1/1 2/2 3/3
f 1/1 3/3 4/4

Részletek: http://webglbasic.com/index.php/37-obj-import


Pl.:

pontfelhő(COLOR,SIZE)




Összetett utasítás, a végét az "pontfelhő.vége()" utasítással kell lezárni.
Közben a "PONT" utasítással kell magadni a pontfelhő pontjait.

COLOR: a pontok színe
SIZE: a pontok relatív mérete


Pl.:

2dszöveg(TEXT,M)




2D testet készít a TEXT szövegből.

TEXT: A szöveg. Ékezet lehet!
M: A szöveg mérete


Pl.:

3dszöveg(TEXT,A,B,C,D,E,F)




3D testek készít a TEXT szövegből.

TEXT: A szöveg. Ékezet nem lehet, és vessző sem!
A: A szöveg magassága (y)
B: A szöveg kihúzás mértéke (z)
C: Szegmenesek száma. Minél nagyobb, annál jobb lesz a minősége

D: true/false a lekerekítés bekapcsolása
E: lekerekítés mértéke
F:


Pl.:

szín(COLOR,FENYES,SOTET,CSILLOGÁS,ÁTLÁTSZÓSÁG)




Az utána következő testek felszínének színét adja meg.
A színt HTML hormátumban kell megadni: #RRGGBB

RR: A piros összetevő hexadecimálisan 00..FF
GG: A zöld összetevő hexadecimálisan 00..FF
BB: A kék összetevő hexadecimálisan 00..FF

Változó nem használható!

Célszerű a Segédletek-RGB színkeverő segítségével beállítani a kívánt színt.

COLOR: A test alapszíne
FENYES: A csillogó rész színe
SOTET: Az árnyékos rész színe
CSILLOGÁS: 0-100
ÁTLÁTSZÓSÁG: 0-1


Pl.:

anyag(F,A)




Gyakori felszín tulajdonság állítható be ezzel az utasítással a SZÍN utasítás helyett.

F: MATT, vagy FÉNYES lehet
A: ÜVEG, vagy TÖMÖR lehet

Alapesetben MATT és TÖMÖR lesz, ha nem adunk meg paramétert.



Pl.:

rgb(R,G,B)




Az utána következő testek felszínének színét adja meg.
A színt az RGB összetevőkkel kell megadni.

R: A piros összetevő decimálisan 0..255
G: A zöld összetevő decimálisan 0..255
B: A kék összetevő decimálisan 0..255

Változó használható mindhárom paraméterben.

Pl.:

textúra(URL,U,V)




Az url-ben megadott textúrát helyezi a test felszínére.

U : vízszintes irányban ennyiszer ismérli a textúrát
V : függőleges irányban ennyiszer ismérli a textúrát

Ha az U, és a V hiányzik, akkor automatikusan 1 lesz mindkettő.
Jelenleg csak a szerveen tárolt textúrák használhatók!

Pl.:

átlátszó.textúra(URL,U,V)




Az url-ben megadott PNG textúrát helyezi a test felszínére. A PNG átlátszó helyein a textúra is átlátszó lesz.

U : vízszintes irányban ennyiszer ismérli a textúrát
V : függőleges irányban ennyiszer ismérli a textúrát

Érdemes sík lapra helyezni a textúrát az OBJ utasítás segítségével.

Pl.:

textúratömb.start





A textúrákat egy max. 20 elemű tömbbe helyezhetjük, és ebből véletlenszerűen előhívható a textúra.



Pl.:

nomap() Törli a BUMP, és NORMAL textúrák hatását.


Pl.:

szín(fehér)
bump(bump1/Gravel-2448-bump-map.jpg)
texture(1/text45.jpg)
hely(-5,3,0)
tégla(4,4,4)



nomap()
texture(1/text45.jpg)
hely(5,3,0)
tégla(4,4,4)


bump(url,M,U,V)




Az url-ben megadott textúrát használja bumpmapként.
A bumpmap a felszín egyenetlenségét a textúra színadataiból számolja ki.

Az M paraméter az egyenetlenség mértékét adja meg. 0..1
U,V paraméter a textúra ismétlés száma


Pl.:

normal(url,U,V)




Az url-ben megadott textúrát használja normálvektorok meghatázotására.

Az M paraméter az egyenetlenség mértékét adja meg. 0..1
U,V paraméter a textúra ismétlés száma

Pl.:

részecske(URL)




Az url-ben megadott textúrát PNG textúrát használja az utána következő pontfelhő utasítás.
Célszerű a "particle" kategóriából választani a PNG képet.
A pontfelhő utasításban a "SIZE", méret paraméterrel lehet a PNG textúra méretét módoítani.

Pl.:

lámpa(A,B)




Pontszerű lámpát helyez az előzőleg beállított helyre. A láma színét előszőleg a szín utasítással kell beállítani.
A: a fény erőssége (alapesetben 1)
B: távolság, ahol már nulla a lámpa fénye (alapesetben 100 egység)

Pl.:

direkfény(x,y,z,F,A,MX,MY,MAP)




Az x,y,z hely felől párhuzamos fénysugarakkal világít a 0,0,0 hely felé.
A negyedik F paraméter a fényerő. Ha nincs megadva, akkor 1.
Az ötdik paraméter (A) az árnyékok intenzitása alapesetben 0.8.

MX,MY adja meg a fényforrás hatókörét. alapesetben 30 mindkettő. A fényforrás -30A MAP az árnyékok kiszámolásához szükséges puffer mérete. Alapesetben 4096 pixel.

FIGYELEM! Ez a fényforrás árnyékot vet a tárgyakra!
Gyengébb géppel lassú lehet a kép frissítése.

Pl.:

árnyék(AM,AR)




Ezzel az utasítással az utána következő testek árnyékolása szabályozható.

Paraméterek:

AM: Be, vagy kikapcsolható, hogy a test mögött legyen-e árnyék, vagy nem.
AR: Be, vagy kikapcsolható, hogy a testen legyen-e árnyék, vagy nem.

Mindkettő paraméter csak "be" vagy "ki" lehet.

Pl.:

szöveg(TEXT)




Ez az utasítás előre tárolja a következő INFO vagy KAMERA utasítás számára a szöveges információkat.
Ha egymás után több utasítást használsz, akkor több bekezdésbe kerülnek a szövegek.

Pl.:

info(COLOR1,COLOR2,W,H,OP)




Megjeleníti a képernyő felső részén az információs panelt.
Előtte meg kell adni a szöveg utasításban a szöveget.

COLOR1: a betű színe HTML színkóddal
COLOR2: a háttér színe HTML színkóddal
W: a panel szélessége pixelben
H: a panel magassága pixelben
OP: a panel átlátszósága 0..1

Pl.:

kamera(NÉV,SX,SY,SZ,DX,DY,DZ)




A kamerákkal lehet nézőpontokat létrehozni. Minden kamerának van neve, ami alul megjelenik egy-egy nyomógombon.
Ha a kamera előtt van szöveg utasítás, akkor a kamera gombjára kattintva a szöveg bekerül a felső INFO panelba.

Paraméterek:
NÉV: a kamera rövid neve
SX,SY,SZ : a nézőpont koordinátái
DX,DY,DZ : a cél koordinátái, ahova a kamera néz (nem kötelező megadni)

Pl.:

beállítások(PARAM,be/ki)




A PARAM-ban megadott környezeti tényezőt kapcsolja be, vagy ki.
Ezek a menüben is megadhatók, de a forrásban beírt parancs felülírja a menüt.
Alapesetben egy háttérfény, és két direktfény van a modellben. Ezek kikapcsolhatók, ha saját fényforrást használsz.

PARAM:
égbolt : kikapcsolva szürke lesz a háttér, vagy az égboltszín utasítást kell használni
koordináták : kikapcsolva eltűnik a 3D koordináta rács és a tengelyek
háttérfény : kikapcsolva az árnyékos részek teljesen feketék lesznek
direktfény : kikapcsolva nem lesz fényforrás
arlogo : kiterjesztett valóság markert kapcsol be

Pl.:

égbolt(TEXTÚRA,R)




Alapesetben egy 500 egység sugarú gömböt készít, és annak belső felületére helyezi a texúrát.
Érdemes a Sky360 mappából választani teljes panorámát. Az R paramétert nem kötelező megadni.
Kisebb paraméter esetén a gömb beljejében mozogva érezhető az égbolt elmozdulása is!

Pl.:

égboltszín(COLOR1,COLOR2)




Az égboltot szimuláló gömbre színátmenetet készít a COLOR1, és COLOR2 színek között.
COLOR1: az É, és D pólus színe
COLOR2: az egyenlítő színe

Pl.:

disp(text,x1,y1,z1,x2,y2,z2)




Kiírja a TEXT szöveget, majd utána a P1, és P3 pont közötti távolságot.

Pl.:

vonalzó()




Bekapcsolja a 3D vonalzót, amin 3 db gömböt lehet mozgatni az (x,y,z) tengelyen.
A próbatest ezekkel a gömbökkel mozgatható, és a koordinátáit fent le is olvashatjuk.

Pl.:

pic(URL,TOP,W,H)




A képernyő baloldalán TOP pixellel lejjebb egy URL-ben megadott képet jelenít meg.
W (szélesség)
H (magasság)

Pl.:

debug0()




Kirak a képernyőre egy DEBUG0 nevű gombot.
Amikor erre kattintasz, akkor egy felugró ablakban megkapod az aktuális nézőponthoz tartozó kamera utasítást.
Ezt csak be kell másolnod a forrásba, és átírni a kamera nevét.

Pl.:

debug1()




Kirak a képernyőre egy DEBUG1 nevű gombot.
Amikor erre kattintasz, akkor egy felugró ablakban megkapod a kamera aktuális helyzetének koordinátáit.

Pl.:

debug2()




Kirak a képernyőre egy DEBUG2 nevű gombot.
Amikor erre kattintasz, akkor egy felugró ablakban megkapod annak apontnak a koordinátáit, ahová a kamera néz.

Pl.:

image()




Kirak a képernyőre egy IMAGE nevű gombot.
Amikor erre kattintasz, az aktuális 3D vászon tartalmát átmásolja egy képfájlba.
A képfájlt már le tudod menteni.

Pl.:

canvas(x,y)




Beállíthatod a 3D vászon méretét. Ha nem használod, vagy üres paramétereket adsz meg, akkor a méret a képernyő maximális mérete lesz.

Pl.:

vezérlés(fpv)




Az eredeti orbitális kamerát rögzíti az xz sík felett 3 egységgel. billentyűzettel lehet mozogni.
Kell egy kamera, amire a 3D jelenet betöltése után rá kell kattintani!

Pl.:

ütközés(be)




Bekapcsolja az ütközést. FPV módban az ütközési pontokon nem engedi át a kamerát.
Az ütközési zónák az XZ síkon elhelyezett hengerek. a henger koordinátáit kell megadni, és a henger sugarát.
Az ütközés zónák láthatatlanok. Valódi testeket is kell rajzolni, ha láthatóvá akarjuk tenni a tiltott területet.

Pl.:

debug(VÁLTOZÓ)




Az adott nevű változó értékét a képernyőre írja a 3D jelenet főlé egy átlátszó keretbe.
Max. 20 sor használható.

Pl.:

változó(NÉV,ÉRTÉK)




Léterhoz egy változót a megadott néven, majd beállítja az alapértékét.
Az alapétéket nem kötelező megadni.
A változó akkor is létrejön automatikusan, ha egy matematikai kifejezés baloldalán van.
Pl.:
x=10
y=a*b

A név csak angol karaktereket tartalmazzon!


Pl.:

alapműveletek




A négy alapműveletet (+,-,*,/) használhatod a szokásos módon.


Pl.:

polar(x,y,z,R,beta,lamda)




polárkoordináta számítás:
kiszámolja az x,y,z változók értékét a R,beta,lamda változók alapján

Pl.:

függvények





A szögfüggvények ardumentuma (sz) radinánban megadott szög.

Szögfüggvények, és hiperbolikus függvények:

sin(sz) sinh(sz)
cos(sz) cosh(sz)
tan(sz) tanh(sz)

szögfüggvények inverzei:
acos, acosh, asin, asinh, atan2, atan, atanh


pi() A PI értékét adja vissza

deg2rad(45) Átszámolj a fokban megadott szöget radiánba
rad2deg(1.57) Átszámolj a radiánban megadott szöget fokba

rand(min,max) A min, és max közötti egész számot ad vissza véletlenszerűen
sqrt(100) Az argumentum négyzetgyökét adja vissza
pow(alap,kitevő) Az alap értékét a kitevő hatványára emeli
exp(kitevő) 'e' hatványozása a kitevővel
expm1(kitevő)
hypot(a,b) sqrt(a*a+b*b) értékét adja vissza

abs(-10) // 10 Abszolút értéket ad vissza
ceil(3.23) // 4 Törtrésszel bíró számot felfelé kerekít
floor(3.23) // 3 Törtrésszel bíró számot lefelé kerekít
round(2.47) // 2 Szabályos kerekítés egészre
round(2.47,1) // 2.5 Szabályos kerekítés a megadott számú tizedes jegyre

fmod(10,3) // 1 10/3 osztás maradékét számolja ki


logaritmus függvények:

log10, log1p, log



Pl.:

FOR($VAR,A,B,STEP) - NEXT($VAR)




A FOR utasítással adod meg a ciklus elejét.

$VAR - ciklusváltozó
A - a változó kezdőértéke
B - a változó utolsó értéke
STEP - lépésköz: ennyivel növeli a változó értékét minden ciklusban

FONTOS: Csak növekvő ciklus működik!

A ciklus végét jelzi a NEXT($VAR) utasítás. Több ciklus is egymásba ágyazható.

Pl.:

kulcs(%,A,B,C)




Az egyszerű animációk 0-100% időtartamra adják meg az animációk fázisait. A KULCS utasítással kell legalább 3 fázist leírni. A többit a program lineáris interpolációval számolja ki.

A KULCS utasítás 4 paraméterrel rendelkezik:
Az első a fázis százaléka 0..100% között. Célszerű 0%-al kezdeni, és 100%-al befejezni a kulcsok felsorolását.
A következő 3 paraméterben koordinátákat, forgási szögeket, vagy méret adatokat adunk meg, az animáció típusától függően.

Egymagában nem használható a KULCS utasítás!

KULCS( 0%, 0, 0, 0)
KULCS( 50%, 0, 5, 0)
KULCS(100%, 0, 0, 0)

animáció(NÉV,IDŐ,ENG,FAZIS)




Minden animáció egyedi névvel rendelkezik. Ez az első paraméter.
Utána lehet megadni a második paraéterben a teljes animáció idejét másodpercben.
A harmadik paraméter az engedélyezés. (be,ki) Ha nincs engedélyezbe az animáció, akkor nem indul automatikusan.
A negyedik paraméter a fázis. (0-1) Pl.: 0.5 esetén az animáció a teljes folyamat felénél kezdődik, és nem az elején.
Lassú gépeken a szofveres számolás miatt az idő a beállítottnál sokkal nagyobb is lehet a valóságban.

Egymagában nem használható a KULCS utasítás!


animáció(AN1)
animáció(mozgas,20)

animáció.hely(OBJ,AN,ENG,FAZIS)




A kulcsok után ezzel zárjuk le az animációt. Az első paraméter annak az objektumnak a neve, amit az animáció vezérel.
A második paraméter az animáció neve, amit az első sorban adtunk meg.
A harmadik paraméter (be/ki, illetve on/off) határozza meg, hogy alapesetben induljon az animáció, vagy nem.
Ha ez a paraméter hiányzik, akkor automatikusan indul.

A kulcsokban megadott x,y,z koordinátákra mozgatja az objektumot.

Hogy ne kelljen minden objektumra ugyanazokat a kulcsokat megadni, az animáció.hely utasítás megismételhető, de más objektum névvel.
A példában az OBJ_A és az OBJ_B testeket ugyanazzal a 3 kulccsal mozgatom.

Pl.:

animáció.forgás(OBJ,AN,ENG,FAZIS)




A kulcsok után ezzel zárjuk le az animációt. Az első paraméter annak az objektumnak a neve, amit az animáció vezérel.
A második paraméter az animáció neve, amit az első sorban adtunk meg.
A harmadik paraméter (be/ki, illetve on/off) határozza meg, hogy alapesetben induljon az animáció, vagy nem.
Ha ez a paraméter hiányzik, akkor automatikusan indul.

A kulcsokban megadott szögek alapján forgatja az objektumot.

Pl.:

animáció.méret(OBJ,AN,ENG,FAZIS)




A kulcsok után ezzel zárjuk le az animációt. Az első paraméter annak az objektumnak a neve, amit az animáció vezérel.
A második paraméter az animáció neve, amit az első sorban adtunk meg.
A harmadik paraméter (be/ki, illetve on/off) határozza meg, hogy alapesetben induljon az animáció, vagy nem.
Ha ez a paraméter hiányzik, akkor automatikusan indul.

A kulcsokban megadott relatív méretek alapján változik az objektum mérete.

Pl.:

be(TEXT,AN)




Kirak egy "TEXT" felíratú gombot, amire kattinva az "AN" nevű animáció elindul.


Pl.:

ki(TEXT,AN)




Kirak egy "TEXT" felíratú gombot, amire kattinva az "AN" nevű animáció leáll.


Pl.:

invert(TEXT,AN)




Kirak egy "TEXT" felíratú gombot, amire kattinva az "AN" nevű animáció állapota az ellenkezőjére vált.

Pl.: