Jak przekazać zmienne pomiędzy dwoma .swf

Technologia Flash, czyli animacja na potrzeby stron WWW to świat daleko odbiegły od zwykłego programowania i kodu. Zapytaj o pomoc i podziel się z nami Twoimi problemami z zakresu Flasha.
Atropos
Nowy
Nowy
Posty: 45
Rejestracja: śr paź 08, 2003 1:05 am
Lokalizacja: Rybnik

Jak przekazać zmienne pomiędzy dwoma .swf

Post autor: Atropos »

Robię sklep, który musi być na przeźroczystości, oczywiście pojawił się problem polskich czcionek w polach input na przeźroczystości.

Wymyśliłem więc, że rozbiję sklep na dwa pliki: jeden przeźroczysty (sklep i koszyk) na górnej warstwie, a drugi (formularz) na osobnej stronie otwieranej w pływającej ramce pod spodem. Wystarczy teraz przesłać zmienne z "koszyka" do "formularza", a z niego wysłać zamówienie mailem.

W tym miejscu pojawił się problem: .swfy są umieszczone na dwóch str html więc przesłanie zmiennych javą odpada. Zapisuję więc z "koszyka" do pliku .txt który czyta "formularz", wszystko działa pięknie do momentu gdy ktoś nie zechce wrócić do koszyka i zmienić wartości. Wtedy formularz wczytuje za każdym razem stare dane (w ogóle nie korzysta z .txt). [ jeśli widoczny jest "koszyk", strony z "formularzem" nie ma]

Nie pomaga wysyłanie zmiennych przez php, ustawianie warunków we flashu, ustawienie w html <meta name="Pragma" content="no-cache">

Może ktoś ma jakiś genialny pomysł bo mi się skończyły
Proszę o pomoc...
burek
Nowy
Nowy
Posty: 128
Rejestracja: pn cze 07, 2004 2:43 pm
Lokalizacja: Krk/Zgc

Re: Jak przekazać zmienne pomiędzy dwoma .swf

Post autor: burek »

To ja już nic nie rozumiem. Żeby mieć dwa obiekty pod sobą to ładujesz je z dwóch swf-ów?? 8O
Atropos
Nowy
Nowy
Posty: 45
Rejestracja: śr paź 08, 2003 1:05 am
Lokalizacja: Rybnik

Re: Jak przekazać zmienne pomiędzy dwoma .swf

Post autor: Atropos »

Nie ma innej możliwości - to wynika z konstrukcji sklepu.

Gdybym ładował na level nie osiągnąłbym takiego efektu, że jeden .swf osadzony jest z "transparent", a drugi "window" - chodzi o błąd flashplayera z wyświetlaniem polskich czcionek na "transparent" - tutaj żadne komponenty PL nie pomogą.

Ten sklep będzie z fotografią, założenie jest takie, że można każdą dowolnie sobie "skonfigurować" tzn. ustawia się ścianę, passe-par-tout, rodzaj ramy.

Żeby można było sobie zmieniać ściany (różne tapety, drewienka, murki) zrobiłem tak, że .swf'a ustawiam na górnej warstwie w html, a pod spodem mam "pływającą ramkę", w którą ładuję odpowiednią stronę html z tłem - w ten sposób na całej powierzchni okna mam teksturę, a nad tym przeźroczystego flasha.

Teraz żeby dołączyć do tego "formularz" wystarczy otworzyć w tej pływającej ramce stronę html z osadzonym w trybie "window" formularzem i mam polskie czcionki w polach input.

Problem jest z przesyłaniem danych pomiędzy tymi .swf'ami - nie wiem, może chodzi o cache przeglądarki ? Jeśli tak, to jak to ominąć?
burek
Nowy
Nowy
Posty: 128
Rejestracja: pn cze 07, 2004 2:43 pm
Lokalizacja: Krk/Zgc

Re: Jak przekazać zmienne pomiędzy dwoma .swf

Post autor: burek »

Jeśli chodzi o przesyłanie danych pomiędzy swf-ami to nie ma takiej fizycznej możliwości z poziomu samego flasha. Tylko z kopniakiem PHP. Być może przy powrocie do koszyka trzeba będzie usunąć wartość z pliku tekstowego i określić ją na nowo po zmianie. Przyznam się szczerze, że strzelam bo nigdy nie miałem z czymś takim do czynienia :oops:
Atropos
Nowy
Nowy
Posty: 45
Rejestracja: śr paź 08, 2003 1:05 am
Lokalizacja: Rybnik

Re: Jak przekazać zmienne pomiędzy dwoma .swf

Post autor: Atropos »

:)
Tzn. można bez większych problemów przesłać zmienne posiłkując się javą w obrębie tej samej strony http://www.efabrika.pl/faq/pokaz.php?st ... 1155657962
Ale ja mam dwie różne strony html.

Oczywiście wykorzystuję PHP - bo jak inaczej...?

Mam zrobione tak, że jak "formularz" dostanie swoje dane to zeruje plik .txt.
Po powrocie do "koszyka" i dopisaniu nowych wartości, "koszyk" zapisuje je do tego .txt (tu wszystko działa) , ale "formularz" który się otwiera "na nowo" ma jeszcze stare dane i nie wykonuje akcji kasowania .txt
Paranoja.
Jedyne co mi przychodzi na myśl to, że przeglądarka to jakoś cache'uje.
Byłoby przykro gdybym tego nie skończył z takiego bzdurnego powodu. :cry:
iro
Moderator
Posty: 402
Rejestracja: pt gru 19, 2003 8:20 pm
Lokalizacja: Szczecin

Re: Jak przekazać zmienne pomiędzy dwoma .swf

Post autor: iro »

A może tak pokombinować na zmiennych sesyjnych?
Zmienne te są dostępne w obrębie całej strony.
Atropos
Nowy
Nowy
Posty: 45
Rejestracja: śr paź 08, 2003 1:05 am
Lokalizacja: Rybnik

Re: Jak przekazać zmienne pomiędzy dwoma .swf

Post autor: Atropos »

To jest jakiś pomysł.
Na razie na temat sesji to wiem że są :)
Zobacze czy będzie się dało coś z tym zrobić.
Dzięki.
Atropos
Nowy
Nowy
Posty: 45
Rejestracja: śr paź 08, 2003 1:05 am
Lokalizacja: Rybnik

Re: Jak przekazać zmienne pomiędzy dwoma .swf

Post autor: Atropos »

Rzuciłem ten temat na inne forum i dostałem taką odpowiedź
SharedObject - do przechowywania danych pomiędzy kolejnymi odwiedzeniami strony.
LocalConnection - do komunikacji pomiędzy SWF'ami.
Myślę, że to jest to. Napiszę czy się udało :)
Atropos
Nowy
Nowy
Posty: 45
Rejestracja: śr paź 08, 2003 1:05 am
Lokalizacja: Rybnik

Re: Jak przekazać zmienne pomiędzy dwoma .swf

Post autor: Atropos »

Użyłem LocalConnection - działa rewelacyjnie. Można przesyłać dane nawet pomiędzy oknami przeglądarki bezpośrednio flash-flash.

Wszystkich zainteresowanych odsyłam do pomocy flasha MX2004.
(Działa tylko pod MX'ami)
ODPOWIEDZ