Article View: alt.pl.programy.flash-5
Article #33449Re: Ozenak Flasha 5 ze skryptem PHP
From: olo
Date: Sat, 04 Nov 2006 17:36
Date: Sat, 04 Nov 2006 17:36
101 lines
5152 bytes
5152 bytes
Paweł napisał(a):
> Chce ten skrypt
> wstawic do animacji flasha na okreslona warstwe we wskazana klatke
> kluczowa oraz w miejscu wyznaczonym przez parametry (x,y, width,
> height).
1. we wskazanej klatce kluczowej na określonej warstwie utwórz nowy
movieClip. Nazwij go dowolnie (instance name!). Ja na potrzeby tego
postu przyjmę, że będzie to 'galeria'. Utworzony movieClip (pusty) ustaw
w pozycji x=0, y=0 (lub w odpowiednio innej pozycji - będzie to
współrzędna lewego górnego rogu pierwszego zdjęcia galerii)
2. W tej samej klatce kluczowej na warstwie akcji (dobrym nawykiem jest
stworzenie nowej warstwy w której będziemy wpisywać akcję - jest to
najzwyklejsza w świecie warstwa :) otwórz panel akcji i wpisz:
var loader = new LoadVars();
loader.parametr = 'wartość';
loader.parametr2 = 'wartość 2';
loader.onLoad = function(ok) {
if (ok) {
utworz_galerie(this);
} else {
trace('nie można otworzyć pliku .php');
}
}
loader.sendAndLoad('plik.php', loader, 'POST');
kilka słów wyjaśnienia:
- parametr i parametr 2 to opcjonalne parametry (zmienne) przesyłane do
pliku .php. Można je w php odczytać normalnie poprzez $_POST['parametr']
i $_POST['parametr2']
- dane wysyłane są do pliku 'plik.php' metodą POST (tylko tą metodą
można to zrobić chcąc by plik php miał wpływ na to co będzie się działo
we flashu a nie otworzył się po prostu w nowym oknie)
- utworz_galerie to funkcja, którą opiszę poniżej
3. Przejdź do pliku 'plik.php'. Prawdopodobnie będziesz musiał go trochę
pozmieniać na potrzeby flasha. Nie wiem też w jaki sposób aktualnie
prezentuje on obrazki. Przyjmę, że listuje on jakiś katalog i
odpowiednio generuje kod html aby wyświetlić obrazki. Musisz zatem
zmienić go tak, aby wyświetlał dane w stylu jak poniżej:
&plik1=obrazek1.jpg&
&plik2=obrazek2.jpg&
&plik3=obrazek3.jpg&
&ilosc_plikow=3&
znów kilka słów wyjaśnienia:
- znaczniki '&' są bardzo ważne i nie można o nich zapomnieć. Wiem, że
można to powyższe zapisać przy użyciu mniejszej ilości '&', ale w ten
sposób jest ładniej. Krótszy sposób wygląda jak zapisywanie danych
przesyłanych metodą GET (bez początkowego znaku zapytania)
- plik1, plik2, plik3 itd to nazwy zmiennych przesyłanych do flasha w
wyniku wykonania skryptu .php. Ich nazwy mogą być dowolne, ważne jednak
aby zaczynały się jakimś wyrazem a kończyły kolejną cyfrą porządkową
(aby później można się było łatwo w pętli do nich odwoływać)
- obrazek1, obrazek2, obrazek3 itd to nazwy plików .jpg, które skrypt ma
odczytać. Tutaj nazewnictwo jest już dowolne
- ilosc_plikow - Jest to ilość obrazków .jpg, które skrypt odczytał z
katalogu (teoretycznie można by napisać skrypt we flashu, który nie
potrzebowałby tej zmiennej, ale byłby on trudniejszy niż zwykłe 'for')
4. Przejdź do flasha. Na warstwie funkcji (albo po prostu w klatce i
warstwie w której wpisałeś poprzedni kod) napisz deklaracje:
function utworz_galerie(plik) {
var ilosc = plik.ilosc_plikow;
for (var i=1; i<ilosc_plikow+1; i++) {
laduj_obrazek(plik, i);
}
}
function laduj_obrazek(plik, nr) {
var odstep_x = 150;
var obj = galeria.createEmptyMovieClip("fotka"+nr, nr);
obj._x = odstep_x*(nr-1);
obj._y = odstep_y*(nr-1);
nazwa_fotki = plik["plik"+nr];
// gdyby powyższe nie zadziałało to spróbuj:
// nazwa_fotki = eval("plik.plik"+nr);
obj.loadMovie("katalog_ze_zdjeciami/"+nazwa_fotki);
}
kilka słów wyjaśnienia:
- katalog_ze_zdjeciami to katalog który listuje skrypt php
- odstep_x to odstęp pomiędzy kolejnymi fotkami (a konkretniej to odstęp
pomiędzy ich lewymi narożnikami). Znaczy to tyle, że jeśli fotka ma
rozmiar 140px i odstęp będzie ustawiony tak jak zaproponowałem (150px)
to odstęp pomiędzy fotkami wyniesie 10px
oczywiście powyższy kod można jeszcze udoskonalić (preloader,
wczytywanie zdjęcia po zdjęciu a nie wszystkich naraz, wyświetlanie w
kolumnach i wierszach), ale post jest już wystarczająco długi. Jak
uporasz się z tym powyżej i będziesz chciał powalczyć dalej to napisz.
--
pozdrawiam!
http://webtrunki.pl - piwa, wina, wódki, domowe wyroby
ZAPRASZAMY!!
Technical Details
Message-ID:
<eiij2q$b8r$1@inews.gazeta.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mailReferences:
<eiib5u$5j4$1@atlantis.news.tpi.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail From: olo <olo69maupapocztafm@nospam.com> Newsgroups: alt.pl.programy.flash-5 Subject: Re: Ozenak Flasha 5 ze skryptem PHP Date: Sat, 04 Nov 2006 18:36:28 +0100 Organization: "Portal Gazeta.pl -> http://www.gazeta.pl" Lines: 101 Message-ID: <eiij2q$b8r$1@inews.gazeta.pl> References: <eiib5u$5j4$1@atlantis.news.tpi.pl> NNTP-Posting-Host: ip-194-116-133-3.broker.com.pl Mime-Version: 1.0 X-Trace: inews.gazeta.pl 1162661786 11547 194.116.133.3 (4 Nov 2006 17:36:26 GMT) X-Complaints-To: usenet@agora.pl NNTP-Posting-Date: Sat, 4 Nov 2006 17:36:26 +0000 (UTC) X-User: fistik In-Reply-To: <eiib5u$5j4$1@atlantis.news.tpi.pl> User-Agent: Thunderbird 1.5.0.7 (Windows/20060909) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit