Problem z wysłaniem zmiennej z pliku PHP do flash.

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.
tomog2
Nowy
Nowy
Posty: 45
Rejestracja: sob kwie 16, 2005 2:23 pm
Lokalizacja: Rzeszów
Kontakt:

Problem z wysłaniem zmiennej z pliku PHP do flash.

Post autor: tomog2 »

Posiadam kod:

Kod: Zaznacz cały

this.loadVariables ("aktualizacja.php", "POST");
this.grafika1.text = this.grafika1;

if (grafika1.text == "1") {
		  G1_1._alpha = 0;
		  G2_1._alpha = 0;
		  G3_1._alpha = 0;
		  G4_1._alpha = 0;
		  G5_1._alpha = 0;
		  G6_1._alpha = 0;
	   }
else {
                  G1_1._alpha = 100;
		  G2_1._alpha = 100;
		  G3_1._alpha = 100;
		  G4_1._alpha = 100;
		  G5_1._alpha = 100;
		  G6_1._alpha = 100;
         }
Ma on za zadanie pobrać z pliku aktualizacja.php daną grafika1, a następnie umieścić ją w polu Dynamic Text. Następnym krokiem jest porównanie zawartości tego pola w warunku if.
Noi wszystko działa jednakże warunek cały czas nie spełnia się. Ciągle jest fałszywy.

Podejrzewam że flash najpierw wykonuje warunek a dopiero później pobiera daną do pola Dynamic Text.

Macie jaki pomysł jak to zrobić żeby było dobrze?
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: Problem z wysłaniem zmiennej z pliku PHP do flash.

Post autor: Marek_bf »

tomog2 pisze:Podejrzewam że flash najpierw wykonuje warunek a dopiero później pobiera daną do pola Dynamic Text.
Tak.

Używaj LoadVars i metody onLoad
tomog2
Nowy
Nowy
Posty: 45
Rejestracja: sob kwie 16, 2005 2:23 pm
Lokalizacja: Rzeszów
Kontakt:

Re: Problem z wysłaniem zmiennej z pliku PHP do flash.

Post autor: tomog2 »

Rozumiem że użyc onLoad zarówno na kodzie pobierania wartości z pliku jak i na warunku?

Czyli:

onLoad.... {
pobieranie danych z pliku php;
}

onLoad.... {
sprawdzanie warunku;
}

To oczywiście bardzo uproszczony zapis. :)
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: Problem z wysłaniem zmiennej z pliku PHP do flash.

Post autor: Marek_bf »

Kod: Zaznacz cały

var sterowaneMcArr:Array = new Array(G1_1, G2_1, G3_1, G4_1, G5_1, G6_1);
var pathPhp:String = "aktualizacja.php";
var myLoadVars:LoadVars = new LoadVars();
//
myLoadVars.onLoad = function(ok:Boolean) {
	if (ok) {
		grafika1.text = sprawdz(this.grafika1, "1");
	}
};
myLoadVars.load(pathPhp);
//
function sprawdz(varsValue:String, testValue:String):String {
	if (varsValue == testValue) {
		widocznosc(sterowaneMcArr, 100);
	} else {
		widocznosc(sterowaneMcArr, 0);
	}
	return varsValue;
}
//
function widocznosc(sterowaneMcArr:Array, alphaValue:Number):Void {
	for (var i = 0; i < sterowaneMcArr.length; i++) {
		sterowaneMcArr[i]._alpha = alphaValue;
	}
}
tomog2
Nowy
Nowy
Posty: 45
Rejestracja: sob kwie 16, 2005 2:23 pm
Lokalizacja: Rzeszów
Kontakt:

Re: Problem z wysłaniem zmiennej z pliku PHP do flash.

Post autor: tomog2 »

Marek_bf, wszystko pięknie ładnie, tyle że funkcja po pobraniu zamiennej z pliku php ciągle ustawia moje mc G1_1, G2_1,...G6_1 na niewidoczne. Oznacza to że warunek nie jest spełniony. Zastanawiam się czy to nie wina mojego pliku php.

Wygląda on tak
[php]<?
print "&grafika1=1";
?>[/php]
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: Problem z wysłaniem zmiennej z pliku PHP do flash.

Post autor: Marek_bf »

[php]<?php
echo 'grafika1=1';
?>[/php]
tomog2
Nowy
Nowy
Posty: 45
Rejestracja: sob kwie 16, 2005 2:23 pm
Lokalizacja: Rzeszów
Kontakt:

Re: Problem z wysłaniem zmiennej z pliku PHP do flash.

Post autor: tomog2 »

Niestety, żadnych zmian.
Zastanawiam się co jeszcze może być nie tak z tym skryptem.
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: Problem z wysłaniem zmiennej z pliku PHP do flash.

Post autor: Marek_bf »

Sprawdź jaka wartość Ci wyświetli ten skrypt:

Kod: Zaznacz cały

var pathPhp:String = "aktualizacja.php";
var myLoadVars:LoadVars = new LoadVars();
// 
myLoadVars.onLoad = function(ok:Boolean) {
	if (ok) {
		grafika1.text = this.grafika1.length;
	}
};
myLoadVars.load(pathPhp);
Powinno być 1
tomog2
Nowy
Nowy
Posty: 45
Rejestracja: sob kwie 16, 2005 2:23 pm
Lokalizacja: Rzeszów
Kontakt:

Re: Problem z wysłaniem zmiennej z pliku PHP do flash.

Post autor: tomog2 »

Oczywiście, że wyświetla. Próbowałem już na przeróżne sposoby: zmieniałem typ zmiennej ze string, na int, real, itp. Wymuszałem też w pliku PHP żeby zmienna przekazywana była typu string, na int, real, itp.

Zastanawia mnie jedno? Dlaczego wciąż funkcja nie spełnia warunku! Przyznam się że nie mam pomysłu.
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: Problem z wysłaniem zmiennej z pliku PHP do flash.

Post autor: Marek_bf »

U mnie podany przykład działa. Pokaż pliki.
tomog2
Nowy
Nowy
Posty: 45
Rejestracja: sob kwie 16, 2005 2:23 pm
Lokalizacja: Rzeszów
Kontakt:

Re: Problem z wysłaniem zmiennej z pliku PHP do flash.

Post autor: tomog2 »

argik
Nowy
Nowy
Posty: 72
Rejestracja: czw lip 12, 2007 2:21 pm

Re: Problem z wysłaniem zmiennej z pliku PHP do flash.

Post autor: argik »

Kod: Zaznacz cały

<?php
     echo "&grafika1=1&";
?>
czyli dwa razy "&" - przed nazwa zmiennej i po wartosci zmiennej
tomog2
Nowy
Nowy
Posty: 45
Rejestracja: sob kwie 16, 2005 2:23 pm
Lokalizacja: Rzeszów
Kontakt:

Re: Problem z wysłaniem zmiennej z pliku PHP do flash.

Post autor: tomog2 »

Dzięki Marek_bf wszystko działa. Jesteś niezastąpiony. :-D
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: Problem z wysłaniem zmiennej z pliku PHP do flash.

Post autor: Marek_bf »

Trochę ulepszony skrypt:

Kod: Zaznacz cały

var sterowaneMcArr:Array = new Array(G1_1, G2_1, G3_1, G4_1, G5_1, G6_1);
widocznosc(sterowaneMcArr, 0);
var pathPhp:String = "aktualizacja.php";
var myLoadVars:LoadVars = new LoadVars();
//
myLoadVars.onLoad = function(ok:Boolean) {
	if (ok) {
		grafika1.text = sprawdz(this.grafika1, "1");
	} else {
		sprawdz("0", "1");
	}
};
myLoadVars.load(pathPhp + "?" + new Date().getTime());
//
function sprawdz(varsValue:String, testValue:String):String {
	if (varsValue == testValue) {
		widocznosc(sterowaneMcArr, 100);
	} else {
		widocznosc(sterowaneMcArr, 0);
	}
	return varsValue;
}
//
function widocznosc(sterowaneMcArr:Array, alphaValue:Number):Void {
	for (var i = 0; i < sterowaneMcArr.length; i++) {
		sterowaneMcArr[i]._alpha = alphaValue;
	}
}
tomog2
Nowy
Nowy
Posty: 45
Rejestracja: sob kwie 16, 2005 2:23 pm
Lokalizacja: Rzeszów
Kontakt:

Re: Problem z wysłaniem zmiennej z pliku PHP do flash.

Post autor: tomog2 »

Marek_bf mam do ciebie jeszcze jedno pytanie. Powiedz mi jak zmienić powyższy kod w taki sposób, żeby:
1. Wysyłam jakiś ciąg znaków do pliku PHP,
2. Plik PHP zmiania ten ciag na powiedzmy cyfrę 2 lub 7,
3. Importuje zmienną z pliku PHP do pola Dynamic Text,
4. Sprawdzam czy zaimportowana dana jest równia 2, jeżeli tak skacze do klatki 2, jeżeli nie do 4.

O ile mam już 1,2 i 3 krok, o tyle nie mogę za cholerę wykonac warunku. Chodzi o to że wykonuje sie on za wcześnie, nie czeka aż zaimportuje dana. Wiec cały czas skacze do klatki 4.

Masz moze jakies proste rozwiazanie, ale dobry przykład do samoszkolenia. :)
ODPOWIEDZ