ugrás a tartalomhoz

Flash galéria filmszalag szerűen

Bitman · 2008. Május. 19. (H), 09.19
Sziasztok!

Egy flash galériát kéne létrehoznom.
Az alapkoncepció az, hogy van a középre rendezett weboldal, és tőle balra kéne létrehozni egy másik hasábot, ahol van egy 3-4 kockás filmszalag, melyben 3-4 kép van, és időnként változik, pl kicserélődik minden kép, vagy egyel fentebb csúsznak a képkockák, és így lent megjelenik mindig egy újabb, stb.

Ezzel egyenlőre nincs is problémám, számos nyílt forráskódú flash galéria létezik, és az ötleteket összeszedve nem lehet egy bonyolult a megvalósítása. Lentre lehetne még csinálni lapozógombokat, stb..

A problémám az lenne, hogyha valaki a filmkockán látható kis képre rákattint, akkor az oldal fölé ki kellene nagyítani a képet az eredeti méretében. Ez ugye kívül esik a flash scene-en.

A kérdésem tehát az lenne, hogy a flash biztosít ilyen lehetőséget, hogy a flash scenen kívülre is tud megjeleníteni dolgokat, vagy ha nem, akkor milyen vonalon kéne elindulni? Hívjak meg valahogy belőle egy javascriptet, melynek átadom a kép urljét, és az megjeleníti a képet a megfelelő helyen? Létezik ilyen javascript meghívási lehetőség? Vagy hogyan lehetne megoldani a dolgot?
Popup ablak nyitása nem megoldás.

A válaszokat előre is köszönöm!

Üdv:
Ákos
 
1

Ami lemaradt:

Bitman · 2008. Május. 19. (H), 09.56
Azt elfelejtettem mondani, hogy az oldal nem flash alapú, hanem html.

Vagy esetleg érdemesebb lenne keresni valami komplex open source javascript függvénytárat, amivel egy ilyen teljes js alapú galéria megoldható?

Valaki tud ajánlani ilyeneket, ha ez véleménye szerint célrevezetőbb?

Előre is köszönöm! :)
2

Flash...

TeeCee · 2008. Május. 19. (H), 14.44
... tutira?
Én megoldanám anélkül inkább. Annyiféle JS-es csomag van. (én speciel jQuery-s vagyok, de ugye ott a prototype, sriptacoulous - sose tudtam leírni -, mootools, EXT, YUI - bár az utóbbi 2 leginkább nem erre a feladatra, igaz animáció azokban is van).
Amúgy létezik flash-js kommunikáció úgy tudom, így megvalósíthatsz egy lightbox-os képelőbukkantást, de azt tudom, hogy a flash általában szeret előtérben lenni, így ezt is meg kell oldanod, hogy eltakarja...

Üdv: TeeCee :o)
3

Re

Bitman · 2008. Május. 19. (H), 19.16
Szerk.: (Már nem aktuális)
Helló!

Köszi a hozzászólásod, nem adtál vele rossz ötleteket, részben mégis a flashnél maradtam. Megtaláltam az Adobe hivatalos oldalán egy példaprogramot, hogy hogyan lehet flash és javascript között kommunikálni (akár oda-vissza): Így

Ezzel nincs is semmi bajom, tökéletesen megfelel (csak a flash -> js része kell).
Úgy tervezem, hogy átadom javascriptnek a teljes méretű kép urljét, és betöltöm egy lightboxos megoldással.

A problémám mégis a kép urljének átadásával van.
A flash galéria úgy működik, hogy beolvas egy xml fájlt, melyben 3 tulajdonság van: a kép teljes urlje, a thumbnail urlje, valamint egy leírás, ami valszeg sosem lesz használva.. Ezeket három különböző, indexelt tömbbe rendezi (photo_thumbnail, photo_filename, photo_description)..

Namost a problémám ott van, hogy ez egy nyílt forrású galéria, tehát nem én írtam, és gyakorlatilag úgy működik, hogy van egy tn_group nevezetű movie clip, melybe bepakolja magának a miniatűröket egymás alá és így egyben az egész görgethető.
Ezt egy for ciklussal teszi, a kódrészlet:

for( var i = 0; i < photo_thumbnail.length; i++ )
{
	tn_group.tn.duplicateMovieClip("tn"+i, i);
	
	tn_group["tn"+i].tn_pic.loadMovie( filepath + photo_thumbnail[i] );
	tn_group["tn"+i].tn_pic2.loadMovie( filepath + photo_thumbnail[i] );
	tn_group["tn"+i]._y = i * (tn_group.tn._height + tn_spacing);
	tn_group["tn"+i]._x = tn._x;
	tn_group["tn"+i].tn_pic._alpha = tn_alpha_default;
	tn_group["tn"+i].tn_no = i;
	

	tn_group["tn"+i].tn_button.onRelease = function() 
	{
		trace("próba2"+i);
		clickSend(filepath + photo_filename[i]);
	}
}
A kód utolsó sorába tettem a függvény meghívását (clickSend), ahol a kép urljét is át kéne neki adni, azonban amikor az onclickes rész lefut, akkor már nem a megfelelő értéke van az i változónak (mint a trace-ből kiderült), hanem a legutolsó for lefutása utáni, ami persze nem jó, mert mindig az aktuális kéne, hogy ugye a megfelelő tömbelemet olvassam ki.

Valaki tudna ebben segíteni?

Előre is köszönöm!

Sikerült megoldanom az idézetbe tett problémámat, a clicksendes sorban nem az i-t kellett használni, hanem helyette azt, hogy this._parent.tn_no