Problem z adresem przycisku btn

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.
wioslop
Nowy
Nowy
Posty: 20
Rejestracja: sob paź 21, 2006 8:52 pm

Problem z adresem przycisku btn

Post autor: wioslop »

Witam!

Sytuacja wygląda tak:
1. mam mc o nazwie "fotka", a w nim przycisk o nazwie "guzik_btn",
2. za pomocą funkcji i pętli duplikuję mc "fotka" na scenie 16 razy nadając nazwy - name = fotka+i (czyli fotka0, fotka1 itd),
3. następnie chcę przypisać funkcję przyciskom "guzik_btn" w każdym duplikacie:

Kod: Zaznacz cały

_root[name].guzik_btn.onRelease = function () {
loadMovie ("zdjecie1.jpg", "pusty_mc");
};
niestety przycisk nie reaguje.

Co ciekawe, jeśli wpiszę z ręki nazwę duplikatu (np. fotka1) to wtedy działa.

Może mi ktoś pomóc!

Pzdr.
wiosło
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: Problem z adresem przycisku btn

Post autor: Marek_bf »

Co się wyświatli w output ,przy tym kodzie?

Kod: Zaznacz cały

trace("_root[name].guzik_btn: " + _root[name].guzik_btn);
_root[name].guzik_btn.onRelease = function() {
	trace("pusty_mc: " + pusty_mc);
	loadMovie("zdjecie1.jpg", "pusty_mc");
};
wioslop
Nowy
Nowy
Posty: 20
Rejestracja: sob paź 21, 2006 8:52 pm

Re: Problem z adresem przycisku btn

Post autor: wioslop »

wyświetla się:

Kod: Zaznacz cały

_root[name].guzik_btn: undefined
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: Problem z adresem przycisku btn

Post autor: Marek_bf »

Oznacza to, że takiego elementu nie ma.
Sprawdź jeszcze

Kod: Zaznacz cały

trace("_root[name]: " + _root[name]);
trace("_root[\"name\"]: " + _root["name"]);
Co to jest name? Nazwa zmiennej (co przechowuje) czy nazwa elementu (jakiego)?
wioslop
Nowy
Nowy
Posty: 20
Rejestracja: sob paź 21, 2006 8:52 pm

Re: Problem z adresem przycisku btn

Post autor: wioslop »

output:

Kod: Zaznacz cały

_root[name]: _level0.fotka8
_root["name"]: undefined
name to:

Kod: Zaznacz cały

var name:String = "fotka" + i;
przechowuje nazwy duplikatów mc "fotka"
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: Problem z adresem przycisku btn

Post autor: Marek_bf »

Wychodzi na to, że nie ma obiektu guzik_btn wewnątrz fotkaXXX. Jeśli jest button upewnij się, że ma nadaną nazwę guzik_btn. Jeśli i to jest ok. to odnieś się tak:

Kod: Zaznacz cały

_root["name"].guzik_btn
wioslop
Nowy
Nowy
Posty: 20
Rejestracja: sob paź 21, 2006 8:52 pm

Re: Problem z adresem przycisku btn

Post autor: wioslop »

niestety nie dziala, button ma nazwę "guzik_btn" tylko, że pojawia się na scenie mc "fotka" w 10 (ostatniej) klatce.

Dziwne jest to, że jak wpiszę:

Kod: Zaznacz cały

_root.fotka8.guzik_btn.onRelease = function () {
loadMovie ("zdjecie1.jpg", "pusty_mc");
};
to wtedy działa?!?
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: Problem z adresem przycisku btn

Post autor: Marek_bf »

Daj link do fla. Będzie szybciej.
wioslop
Nowy
Nowy
Posty: 20
Rejestracja: sob paź 21, 2006 8:52 pm

Re: Problem z adresem przycisku btn

Post autor: wioslop »

Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: Problem z adresem przycisku btn

Post autor: Marek_bf »

Starasz się przypisać onRelease dla buttona (guzik_btn) w momencie, gdy jest on nieosiągalny. Czyli on sam jeszcze dla skryptu nie istnieje a więc, referencja (guzik_btn) jest pusta. Musisz ten button umieścić już w 1 klatce mc fotka.
Możesz go w 1 klatce ukryć (_visible = false) a w ostatniej pokazać (_visible = true)
wioslop
Nowy
Nowy
Posty: 20
Rejestracja: sob paź 21, 2006 8:52 pm

Re: Problem z adresem przycisku btn

Post autor: wioslop »

Dzięki :D
ODPOWIEDZ