Skocz do zawartości
Antyvirek

[ACTIONSCRIPT 3.0] AddChild z klasy zewnętrznej

Rekomendowane odpowiedzi

Witam
 
Mam 2 problemy; z góry mówię że szukałem już sporo ale jako że jeszcze nie mam dużego doświadczenia w tym języku to nie byłem w stanie niczego wydedukować. Więc tak:
 
Problem 1:
Mam na głownej osi czasu (załóżmy scena 1 klatka 1) na stole MovieClip o nazwie MC. Tworzę zewnętrzną klasę Class która posiada metodę :
 
public function Play():void {
MC.gotoAndPlay("atak1");
}
 
Jak zrobić żeby to zadziałało? Dodam że wklejanie przed tym root czy stage nie pomaga. 
 
Drugi problem: 
Mam w bibliotece movieclip MC i klasę Class. Chciałbym żeby konstruktor klasy zewnętrznej dodawał movie clip do głownej osi i żeby kolejne metody mogły nim manipulować (gotoandplay itp); Póki co wygląda to tak:
 
public function Add():void {
 
var temp:MovieClip = new MC();
addChild(temp);
temp.x = 200;
temp.y = 200;
}
 
Niestety obydwa przypadki nie działaja, domyślam sie że chodzi o to że nie zdefiniowałem ścieżki do głownej osi... ale jak to zrobić? Chodzi mi o najprostszy sposób.
 
Z góry dziękuje za pomoc

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie znam dokładnej struktury plików, ani szczegółów klas, więc nie będę klecił jakiegoś pseudo kodu, który być może zadziała. Tym bardziej, że już dawno nie dłubałem we flashu.

 

Spróbuj czegoś spod tych linków:

http://stackoverflow.com/questions/7280203/how-do-i-access-a-movieclip-on-the-stage-using-as3-class

http://stackoverflow.com/questions/4475364/how-to-target-movie-clip-on-the-stage-from-doc-class-as3

http://rabidgadfly.com/2008/10/refer-to-stage-from-as3-class/

 

Ogólnie chodzi o to, że dopóki nie przekażesz klasie referencji do obiektu (nieważne, czy pojedynczego MC, czy do jakiegoś roota, stage, timeline, skąd będziesz wyciągać potem to, co potrzebne), to klasa nie będzie mieć zielonego pojęcia, że chodzi Ci o ten obiekt. W tej klasie nie będzie on istniał, więc nie będzie można na nim działać.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dzięki, wpadłem na inny pomysł który rozwiązuje mój problem;

Tworzę movieclip w bibliotece, i osobną klasę. Movieclip jest połączony z klasą i posiada wszystkie jej właściwości a addchild daję na głownej osi.

 

Dziękuję za pomoc, naprowadziło mnie to nieco, chociaz dalej nie wiem jak zrobić powyższe rzeczy : )

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...