SWiSH Forum Strona Główna SWiSH Forum
Forum użytkowników programów SWiSH

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj  DownloadDownload

Poprzedni temat «» Następny temat
Tablica obiektów MovieClip
Autor Wiadomość
ztomasz
Początkujący


Dołączył: 18 Lis 2011
Posty: 5
Skąd: z google
Wysłany: Pią 18 Lis, 2011 12:03   Tablica obiektów MovieClip

Witam serdecznie wszystkich,
jestem nowy na tym forum i góry przepraszam jeśli pytanie jest banalne.

Mój problem polega na kłopotach w stworzeniu i późniejszym odwoływaniu się do tablicy składającej się z obiektów MovieClip.

Przyjmijmy, że w projekcie "Konspekt" wygląda następująco:
Kod:
Scena_1
   klip
        Kształt


Natomiast skrypt dla "Scena_1" wygląda następująco:
Kod:
onSelfEvent (load) {
    var a = new Array(new MovieClip(),new MovieClip(),new MovieClip());

    for (i = 0; i < 3; i++){
        klip.duplicateMovieClip("temp"+i, _root);
        a[i] = _root["temp"+i];
        a[i]._x = i*40;
        trace("W pętli: obiekt #" +i + " _x: " + a[i]._x);
    }

    for (i = 0; i < 3; i++){
        trace("Po pętli: obiekt #" +i + " _x: " + a[i]._x);
    }
}


Niestety wbrew moim oczekiwaniom po włączeniu animacji w oknie "Debug" pojawił się następujący ciąg komunikatów:
W pętli: obiekt #0 _x: 0
W pętli: obiekt #1 _x: 40
W pętli: obiekt #2 _x: 80
Po pętli: obiekt #0 _x: undefined
Po pętli: obiekt #1 _x: undefined
Po pętli: obiekt #2 _x: 80

Podejrzewam, że gdzieś robię banalny błąd, jednak od dłuższego czasu próbuję bezskutecznie rozwiązać ten problem.
Niestety archiwum forum i Google nie pomogły.
Z góry dziękuję za pomoc.

--
Pozdrawiam Tomek
SWiSH 4.0 / Win XP
 
     
Gyver
Praktyk


Dołączył: 17 Maj 2010
Posty: 25
Skąd: Katowice
Wysłany: Pią 18 Lis, 2011 13:07   

Podejrzewam, że błąd tkwi w tej linijce:

klip.duplicateMovieClip("temp"+i, _root);

Duplikujesz MC cały czas na ta samą warstwę _root, przez co następny MC usuwa poprzedni.
 
     
ztomasz
Początkujący


Dołączył: 18 Lis 2011
Posty: 5
Skąd: z google
Wysłany: Pią 18 Lis, 2011 13:29   

Gyver napisał/a:
Podejrzewam, że błąd tkwi w tej linijce:
klip.duplicateMovieClip("temp"+i, _root);

Bardzo dziękuję za błyskawiczną odpowiedź.
Zamieniłem na:
Kod:
klip.duplicateMovieClip("temp"+i, _root.getNextHighestDepth());

.. no i oczywiście DZIAŁA!

Widać nie do końca zrozumiałem ideę tego parametru.
Uważałem, że "depth" jest swego rodzaju warstwą, na której może istnieć kilka obiektów MovieClip.
To był BŁĄD!

Jeszcze raz bardzo dziękuję za pomoc.
--
Pozdrawiam Tomek
 
     
^shastaan 



Pomógł: 72 razy
Dołączył: 09 Gru 2007
Posty: 688
Skąd: Rzeszów
Wysłany: Pią 18 Lis, 2011 17:18   

Pomyliłeś "depth" z "level" ;]
Pozdro!
_________________
Prowadzę stacjonarne i zdalne szkolenia z grafiki, również ze SWiSH. Program ustalany indywidualnie w zależności od potrzeb klienta. Szczegóły na www.kreopka.pl
 
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  


Powered by phpBB modified by Przemo © 2003 phpBB Group
Nowe zasady dotyczące cookies. Wykorzystujemy pliki cookies, aby nasz serwis lepiej spełniał Państwa oczekiwania. Można zablokować zapisywanie cookies, zmieniając ustawienia przeglądarki.
         
Strona wygenerowana w 0.17 sekundy. Zapytań do SQL: 14