Wyświetlacz kalkulatora

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.
3DH
Nowy
Nowy
Posty: 34
Rejestracja: śr lip 04, 2007 1:17 pm

Wyświetlacz kalkulatora

Post autor: 3DH »

Witam,

Ostatnio przerabialem kalkulator dla mojej strony i oczywiście utknąłem w połowie roboty. Kalkulator działa jak należy, ale mam drobny problem z wyświetlaczem. Chodzi o to, że działa tylko wtedy, kiedy jest w pierwszej, głównej warstwie filmu.

Używam tego skryptu:

Kod: Zaznacz cały

float register = 0;
float memory = 0;
string display = "0";
string operator = "";
bool display_flag = false;
bool operator_flag = false;
/////////
function Calculate ()
{
	if (operator_flag){
		if (operator == "+") register += Number (display);
		if (operator == "-") register -= Number (display);
		if (operator == "*") register *= Number (display);
		if (operator == "/"){
			if (register == 0){
				display = "Error";
				display_flag = false;
				return;}
			 register /= Number (display);}
		display = String (register);}
	else register = Number (display);
	if (display.length > 10) display = display.slice (0, 10);
	display_flag = false;
}
/////////
function AddNumber (number)
{
	if (!display_flag) display = String (number);
	else display += String (number);
	display_flag = true;
}
/////////
function Decimal ()
{
	if (display_flag){
		var i = display.indexOf (".");
		if (i == -1) display += ".";}
	else {
		display = "0.";
		display_flag = true;}
}
/////////
function Operate (op)
{
	Calculate ();
	operator = op;
	operator_flag = true;
}
/////////
function Equals ()
{
	Calculate ();
	operator = "";
	operator_flag = false;
}
/////////
function MemoryAdd ()
{
	Equals ();
	memory += Number (display);
}
/////////
function MemoryReturn ()
{
	display = String (memory);
	display_flag = false;
}
/////////
function Cancel ()
{
	display = "0";
	display_flag = false;
}
/////////
function CancelEverything ()
{
	register = 0;
	display = "0";
	display_flag = false;
	operator = "";
	operator_flag = false;
	memory = 0;
}
//////////
//////////
Każdy button korzysta z jednej z tych funkcji. Np.:
Button =
-> Call calculator
Equals()
I każdy przycisk działa bez względu na warstwe filmu, ale tylko wtedy, jeśli wyświetlacz(display) jest w pierwszej.

Co robię źle? Co mam poprawić aby wyświetlacz działał w innych warstwach?
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: Wyświetlacz kalkulatora

Post autor: Marek_bf »

Zamknij plik kalulatora w odzielnum MC.
3DH
Nowy
Nowy
Posty: 34
Rejestracja: śr lip 04, 2007 1:17 pm

Re: Wyświetlacz kalkulatora

Post autor: 3DH »

No wlasnie chodzi o to, że nie mogę. Zrobiłem:
Kalkulator
w osobnym filmie, i działa jak widać. Ale na stronie głównej już nie działa (F2 włącza/wyłącza kalkulator).

Btw. Praktycznie wszystkie obiekty na stronie są w osobnym mc, ale tylko kalkulator jest całkiem osobnym filmem/plikiem swf.
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: Wyświetlacz kalkulatora

Post autor: Marek_bf »

Ciężko nie widząc plików, coś powiedzieć na temat. Kod wydaje się prawidłowy.
ODPOWIEDZ