IMG tag Light effekttel
Ez a script a böngészöbe ágyazott effektek közül a light
effekttel operál. Ennek hatására azon <IMG> tagok, amik id-ja
spotlight (<img src="spider.jpg" id="spotlight">), teljesen elfeketednek, majd ha az egér föléjük megy,
egy 'fejfénnyel' megvilágítódnak. Nézzük hogy is érjük el ezt.
Müködésröl röviden:
A <BODY> onLoad()-ja akkor hívódik meg, mikor az egész oldal teljesen betöltödött.
Ekkor meghívja a InitLights() függvényt, ami végiggmegy az összes spotlight
"id"-ju objektumon, eltárolja azok aktuális x, y pozicióját, majd az objektum közeppontjára kitesz egy elmozdítható
fényforrást a addPoint() függvénnyel. Miután ezekkel végzett, ráköti az onMouseMove()
eseménykezelöre a move()-ot, a onScroll()-ra meg a scroll()-t, amik ezáltal mindig
meghídnak majd, ha az egér megmozdul, ill. ha scrollozunk egyett az ablakon.
A scroll() semmi mást nem csinál, mint meghívja a slidelight() függvényt
annyiszor, amennyi spotlight "id"-ju objektum van, egyesével növekvö bemeneti paraméterrel.
A move() ugyanezt csinálja, csak a függvényhívás elött eltárolja az egér
aktuális pozicióját.
És végül a slidelight() függvény annyit tesz mindössze, hogy kiszámolja, hogy
mennyit scrolloztunk le/fel az ablakban, majd ezzel az értékkel modósitva az elözöleg a move() által
eltárolt x, y koordinátákat, meghívja a MoveLight()-ot, ami fényforrás helyét átja.
Rövid leirás a Light filter tagfüggvényeiröl:
AddAmbient
Egyszerü fényforrás létrehozására szolgál. Az így létrehozott
fényforrás nem mozdítható.
szintaxis:
object.filters.Light.AddAmbient(R,G,B,I);
- R - (0-255) a piros összetevö az RGB hármasból.
- G - (0-255) a zöld összetevö az RGB hármasból.
- B - (0-255) a kék összetevö az RGB hármasból.
- I - (0-100) a fény intenzitása
AddCone
Egy olyan féforrást hoz létre, ami leginkább egy kúpra hasonlít. Tehát
egy pontból indúl ki, és a paraméterlistában megadott szögnek megfelelöen
(ami a kúp csúcsszögének felel meg) szóródik a fény. Mind az alap-,
mind a középvonal koordinátája elmozdítható.
szintaxis:
object.filters.Light.AddCone(x1,y1,z1,x2,y2,R,G,B,I,S);
- x1,y1,z1 - a fényforrás x, y, z koordinátája.
- x2,y2 - x, y koordináta, amin a 'fénykúp' középvonala áhalad (z2=0).
- R - (0-255) a piros összetevö az RGB hármasból.
- G - (0-255) a zöld összetevö az RGB hármasból.
- B - (0-255) a kék összetevö az RGB hármasból.
- I - (0-100) a fény intenzitása.
- S - (0-90) mekkora legyen a 'kúp' csúcsszöge (fokban megadva)
AddPoint
Ez egy elmozdíható "ambient" lámpát hoz létre.
szintaxis:
object.filters.Light.AddPoint(x,y,z,R,G,B,I);
- x,y,z - a lámpa x, y és z koordinátája, ahol az z koordináta azt adja meg, hogy a
lámpa milyen magasan legyen a kép sikjától.
- R - (0-255) a piros összetevö az RGB hármasból.
- G - (0-255) a zöld összetevö az RGB hármasból.
- B - (0-255) a kék összetevö az RGB hármasból.
- I - (0-100) a fény intenzitása.
ChangeStrength
Akkor kell használni, ha meg akarjuk változtatni az elözöekben mar lérehozott lámpa
fényerejét.
szintaxis:
object.filters.Light.ChangeStrength(LN,I,fA);
- LN - (0-9) az indexe a már létezö lámpának, aminek meg akarjuk változtatni
a fényerejét.
- I - (0-100) a fény intenzitása.
- fA - (true vagy false):
- true - a fényeröt lecseréli az ujra.
- false - a fényeröt növeli ill. csökkenti az új értékkel, attól függöen, hogy
az új érték pozitív vagy negatív.
ChangeColor
Ha az elözöekben már lérehozott lámpa színösszetevöit szeretnénk megváltoztatni akkor
hívjuk meg ezt a függényt.
szintaxis:
object.filters.Light.ChangeColor(LN,R,G,B,fA);
- LN - (0-9) az indexe a már létezö lámpának, aminek meg akarjuk változtatni
a színösszetevöjét.
- R - (0-255) a piros összetevö az RGB hármasból.
- G - (0-255) a zöld összetevö az RGB hármasból.
- B - (0-255) a kék összetevö az RGB hármasból.
- fA - (true vagy false):
- true - az elözöleg megadott RGB-t lecseréli az ujra.
- false - az elözöleg megadott RGB-t növeli ill. csökkenti az új értékkel, attól függöen, hogy
az új érték pozitív vagy negatív.
Clear
Ha ki akarunk törölni egy féforrást, akkor kell ezt használni.
szintaxis:
object.filters.Light.Clear;
MoveLight
Ez a fügvény a lámpa mozgatására való.
szintaxis:
object.filters.Light.MoveLight(LN,x,y,z,fA);
- LN - (0-9) az indexe a már létezö lámpának, aminek meg akarjuk változtatni a pozicióját
- x,y,z - az új x,y é z koordináták
- fA - (true vagy false):
- true - a koordináták abszolút koordináták
- false - a koordináták relatívok (az aktuális pozicióhoz képest).
Eredmény:
Install:
Másold ki a forráskódot, és tedd a HEAD-be.
A BODY onLoad-jába ird be, hogy InitLights().
pl.: <body onload="InitLights()">
Ha már valami a BODY onLoad-jában, akkor az InitLights()-ot írd hozzá az onLoad-hoz.
pl.: <body onload="akarmi(); InitLights()">
Ezek után, amelyik képet meg akarsz majd vilaggíttatni, annak az "id"-ja legyen spotlight.
pl.: <img src="spider.jpg" id="spotlight">
[ezen képek teljesen el fognak feketedni!]
A forráskód:
(c) /\\/\\@mo. 2000-2004