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
Tło obrazkowe
Autor Wiadomość
krzywy105 
Doradca


Pomógł: 1 raz
Dołączył: 09 Kwi 2011
Posty: 68
Skąd: Małopolska
Wysłany: Czw 12 Sty, 2012 15:44   Tło obrazkowe

Witam.
W jaki sposób mogę za pomocą skryptu ustawić tło obrazkowe (png) dla obiektu który ma być przyciskiem?
Zastosowanie loadMovie dla przycisku który jest przekonwertowany do movieclipa powoduje że nie działa akcja onPress.
 
     
espe1
Profesjonalista


Pomógł: 16 razy
Dołączył: 02 Lis 2011
Posty: 175
Skąd: łódzkie
Wysłany: Czw 12 Sty, 2012 19:28   

Działa, tylko coś poknociłeś.

Masz jakiś kształt (obiekt)
Wypełnienie obiektu - są 4 rodzaje:

- None (brak)
- Solid (jeden kolor)
- Gradient
- Image (zdjęcie png, jpg, gif, bmp, dib)

zaznaczasz Image i z boku otwierasz pomarańczową ikonę Open Image - wskazujesz plik na dysku
 
     
krzywy105 
Doradca


Pomógł: 1 raz
Dołączył: 09 Kwi 2011
Posty: 68
Skąd: Małopolska
Wysłany: Czw 12 Sty, 2012 20:33   

Tak tylko tu chodziło o ustawienie tego za pomocą skryptu. Ale mniejsza z tym przeniosłem akcje onPress z przycisku do klipu do którego ładuje też obraz i wygląda że działa.

Mam natomiast inny problem. Struktura projektu jest taka że. Jest scena1 która zawiera klip map_klip który to następnie zawiera klip przycisk

Następnie dynamicznie tworze z poziomu sceny1 klipy dynamiczne będące kopią klipu przycisk.
Kod:
for (i=1; i <= ilosc_ikon; i++) {   
map_klip.przycisk.duplicateMovieClip("Ikona"+i, map_klip.getNextHighestDepth());
       
         map_klip["Ikona"+i]._x = this["x_ikona"+i];
         map_klip["Ikona"+i]._y = this["y_ikona"+i];
          map_klip["Ikona"+i].przycisk.loadMovie("http://localhost/~MP/"+this["ikona"+i]);
          }


Pod tymi tworzonymi dynamicznie przyciskami mam akcje onPress {trace(this._name)}

I niestety okazuje się że kazdy tak tworzony przycisk ma nazwę map_klip (widać to po kliknięciu)a nie tak jak bym się spodziewał Ikona+numer.
Jest w stanie ktoś coś tu poradzić? Czy można używać duplicateMovieClip z poziomu sceny do klipów głębiej zagnieżdżonych(w sensie klip w klipie)? Bo mam wrazenie że tu może byc problem. Wcześniej miałem tą pętle tworzącą przycisku w map_klip i wtedy prawidłowo wyświetlało nazwy niestety musiałem ją przenieść z pewnych powodów do sceny głównej. Wiem że chyba troche namieszałem ale naprawdę potrzebuje pomocy w tej sprawie.

[ Dodano: Pią 13 Sty, 2012 20:01 ]
Dobra dodałem pod spodem dodatkowy klip do którego wczytywany jest obrazek a na nim przeźroczysty przycisk który reaguje na klik.
Inna kwestia. W scenie1 mam mape na której właśnie pojawiają się te przyciski. Po kliku chciałbym aby pojawiał się panel z tekstem, zdjęciami itp natomiast mapa przyciemniała się jak w lightboxie. Myślałem że wystarczy te zdjęcia, teksty umieścić w scenie2 a scene1 ustawić jako tło. Ale w takim przypadku animacja nie zatrzymuje się w scenie1 tylko odrazu przechodzi do sceny2.
W jaki sposób zrobić aby przejsice do sceny2 było dopiero po kliku a scena1 była tłem dla sceny2?
 
     
^Januszr 



Pomógł: 216 razy
Dołączył: 11 Maj 2005
Posty: 1854
Skąd: Stolyca od urodzenia
Wysłany: Sob 14 Sty, 2012 12:46   

A jakbyś ładował SWF poprzez loadMovie czyli png z akcją przycisku i wykorzystał LocalConnection?
_________________
Niestety używam nieoficjalnych wersji Swish, które można zassać z forums.swishzone.com - jest na szczycie listy w BugsForum.
 
     
krzywy105 
Doradca


Pomógł: 1 raz
Dołączył: 09 Kwi 2011
Posty: 68
Skąd: Małopolska
Wysłany: Sob 14 Sty, 2012 14:32   

Czyli zamiast umieszczać treści w scenie2 stworzyć oddzielnego swf tak?
I ładować go po kliknięciu na ikone na środek sceny? Z sceny1 musi być do niego przekazane w sumie tylko ID ikony w którą kliknięto aby można było załadować odpowiednie dane typu opis, zdjęcia itp? Czy ten załadowany swf może wykonywać wszytko to co zwykły flash czyli chodzi mi głównie o pobranie zmiennych z php czy załadowanie zdjęć? Czy zmienne które są w scenie głównej będą również widoczne w ładowanym swf czy też właśnie do przekazania ich (czyli głównie ID ikony) służy właśnie localconnection?
Sory za tak dużo pytań ale chciałbym rozwiać wątpliwości które mam aby się potem nie okazało że jednak tak się nie da. :)
 
     
^Januszr 



Pomógł: 216 razy
Dołączył: 11 Maj 2005
Posty: 1854
Skąd: Stolyca od urodzenia
Wysłany: Sob 14 Sty, 2012 15:51   

Może źle zrozumiałem...
Jeżeli masz problem z załadowaniem png do przycisku to nie ładuj png tylko gotowy swf, który jest przyciskiem. W takim przypadku trzeba wykorzystać localconnections, czyli komunikację pomiędzy swfami. Co można przekazać? Zmienne, odniesienia do klatek filmu, itd. Zerknij na ten przykład:
http://blog.swishzone.com/?p=3890
albo lokalnie:
http://swish.wodip.opole....localconnection
http://swish.wodip.opole....localconnection
http://swish.wodip.opole....localconnection
_________________
Niestety używam nieoficjalnych wersji Swish, które można zassać z forums.swishzone.com - jest na szczycie listy w BugsForum.
 
     
krzywy105 
Doradca


Pomógł: 1 raz
Dołączył: 09 Kwi 2011
Posty: 68
Skąd: Małopolska
Wysłany: Sob 14 Sty, 2012 18:47   

No tam sprawa była dziwna bo przyciski są tworzone dynamicznie i po wczytaniu png do takiego dynamicznego przycisku nie wykonywał się kod w nim zawarty tak jak myślałem. Tworzone były w pętli i nazwy się zmieniały przy każdym przebiegu petli (Ikona1,Ikona2, itd). Przycisk ktury był dynamicznie powielany miał kod onPress {trace(_this.name)}. To poto aby sprawdzić czy będzie można rozróżnić potem przyciski po nazwie. Niestety nie działa to tak jak chce.

Ale mam inne pytanie jak zrobić aby klik przycisku powodował załadowanie do kontenera pliku swf i wysłanie do niego zmiennej. Wiem jak załadować natomiast nie wiem jak wysłać i odebrać potem zmienną. Mógłbyś podać jakiś prosty przykład?

[ Dodano: Sob 14 Sty, 2012 21:26 ]
W jednym z linków które podałeś ktoś pisze że do komunikacji między swf ładowanymi do jednego swf służą zmienne globalne ale u mnie nie widzi tych zmiennych w swf który jest wczytywany do głównego.

Dobra okazało się że aby zmienne globalne były widoczne to obydwa pliki muszą być w tym samym katalogu.

[ Dodano: Nie 15 Sty, 2012 19:25 ]
No to inna sprawa.

Jak zrobić aby po naciśnięciu odpowiedniego przycisku klipy wjeżdżały i wyjeżdżały na scenę?
Mam przykładowo 4 przyciski. Naciśnięcie pierwszego powoduje wjechanie klipu1; drugiego wyjechanie aktualnego i wjechanie klipu2. Chodzi mi o to że gdy naciskamy przycisk nie wiemy który klip jest na scenie wiec jak mamy określić który ma wyjechać? Chcę po prostu aby naciśnięcie przycisku powodowało wyjechanie klipu ze sceny niezależnie który to jest dokładnie klip i wjechanie odpowiedniego. Jak to uzyskać (już pomijam wstawianie efektu ruch bo to jest oczywiste).

[ Dodano: Pon 16 Sty, 2012 13:07 ]
Trochę pisze sam ze sobą ale..
Jak zrobić preloader do łądowanego jpg?

Mam taki kod który w 13 klatce ładuje jpg do klipu:

Kod:

  onFrame (13)  {
      map_klip.mapa.loadMovie("http\\localhost\obraz.jpg");
     
  }


[/code]
 
     
^Januszr 



Pomógł: 216 razy
Dołączył: 11 Maj 2005
Posty: 1854
Skąd: Stolyca od urodzenia
Wysłany: Pon 16 Sty, 2012 19:12   

Pisanie do samego siebie ma tę zaletę, że na pewno wymieniasz posty z osobą równie inteligentną ;P

Ładowanie zewnętrznych plików z preloaderem:
http://blog.swishzone.com/?p=3426
_________________
Niestety używam nieoficjalnych wersji Swish, które można zassać z forums.swishzone.com - jest na szczycie listy w BugsForum.
 
     
krzywy105 
Doradca


Pomógł: 1 raz
Dołączył: 09 Kwi 2011
Posty: 68
Skąd: Małopolska
Wysłany: Sro 18 Sty, 2012 18:31   

Czy jest jakiś sposób ustawienia punktów transformacji aby wyśrodkować wczytywany swf względem sceny?
Chodzi o to aby ten wczytywany swf był na środku bez względu na jego rozmiar.
Jeśli mc do którego wczytuje jest pusty to wczytuje lewy górny róg ładowanego swf do punktu gdzie jest umieszczony mc. Natomiast jeśli dam temu mc rozmiar sceny to wtedy ładowany swf ustawia się górnym lewym rogiem do punktu gdzie jest zaznaczony punkt transformacji a chce żeby wczytał się na środek.
 
     
^Januszr 



Pomógł: 216 razy
Dołączył: 11 Maj 2005
Posty: 1854
Skąd: Stolyca od urodzenia
Wysłany: Sro 18 Sty, 2012 19:24   

Cytat:
Czy jest jakiś sposób ustawienia punktów transformacji aby wyśrodkować wczytywany swf względem sceny?

Tak, podziel wysokość stage na dwa, szerokość także i pozycjonuj w ten sposób MC.
Jakieś informacje załączyłem w przeszłości tutaj: http://swish.wodip.opole....pic.php?p=21385
Ewentualnie zaadoptuj to:
Twój_MC._x = Stage.width/2
Twój_MC._y = Stage.height/2
I jak coś nie działa to załącz swi, bo łatwiej mi się naprawia niż pisze od początku...
_________________
Niestety używam nieoficjalnych wersji Swish, które można zassać z forums.swishzone.com - jest na szczycie listy w BugsForum.
 
     
espe1
Profesjonalista


Pomógł: 16 razy
Dołączył: 02 Lis 2011
Posty: 175
Skąd: łódzkie
Wysłany: Sro 18 Sty, 2012 20:21   

Ponieważ sm4 nie podaje/oblicza rozmiarów ładowanego pliku, trzeba do każdego ładowanego pliku obliczać ręcznie:
Kod:

onFrame (1) {
_root.createEmptyMovieClip("holder", 1);
_root.holder.loadMovie("film.swf");
_root.holder._x = 130 //(szerokość sceny - szerokość filmu)/2;
_root.holder._y = 110 //(wysokość sceny - wysokość filmu)/2;
}


liczy, ale przez funkcję przy ładowaniu - patrz niżej
Ostatnio zmieniony przez espe1 Sro 18 Sty, 2012 21:48, w całości zmieniany 2 razy  
 
     
krzywy105 
Doradca


Pomógł: 1 raz
Dołączył: 09 Kwi 2011
Posty: 68
Skąd: Małopolska
Wysłany: Sro 18 Sty, 2012 20:21   

Tak tylko nie znając z góry rozmiaru swf to w taki sposób chyba się nie da. Bo z tego co zauważyłem wczytywany swf zawsze ma punkt transformacji ustawiony na lewy górny róg. Chyba że można już po wczytaniu w jakiś sposób skryptem przestawić ten punkt?

Próbowałem po wczytaniu pobierać wartość _width i _height MC (bo wtedy dało by się wyliczyć środek) ale to podaje złe wyniki i często losowe w pewnych granicach.

Żeby załączenie pliku swi miało sens muszę go przerobić bo teraz pobiera dane z bazy i ciężko by było o dobre działanie. Ale jak nic nie wymyśle to przerobie i załączę.
 
     
espe1
Profesjonalista


Pomógł: 16 razy
Dołączył: 02 Lis 2011
Posty: 175
Skąd: łódzkie
Wysłany: Sro 18 Sty, 2012 20:53   

centrowanie działa przez tego loadera (do ściągnięcia i przerobienia)

http://blog.swishzone.com/?p=3426

czyli:

1. tworzymy pustego mc o nazwie "container"
2. w scenie_1 wpisujemy:

Kod:

onSelfEvent(load) {
var mcListener = new Object();
    mcListener.onLoadInit = function(tmc) {
        tmc._x = Math.round((Stage.width/2) - tmc._width/2);
        tmc._y = Math.round((Stage.height/2)- tmc._height/2);
        tmc.play();
}
var mcLoader = new MovieClipLoader();
    mcLoader.addListener(mcListener);
}
onFrame (1) {
    mcLoader.loadClip("plik.swf", this.container);
}


można też tworzyć przyciski z kolejnymi akcjami ładowania plików:
Kod:

on(release) {
    mcLoader.loadClip("plik2.swf", this.container);
}


Centrowanie źle działa, jeśli:
- ładowany swf nie ma tła w postaci shape lub zdjęcia
- ładowany swf ma tło, lub element który wystaje poza scenę
 
     
krzywy105 
Doradca


Pomógł: 1 raz
Dołączył: 09 Kwi 2011
Posty: 68
Skąd: Małopolska
Wysłany: Pią 20 Sty, 2012 12:30   

No właśnie te wymiary pobierane przez swisha dotyczą tylko pierwszej klatki i właśnie biorą pod uwagę elementy animacji tzn jeśli wystają poza obszar sceny albo są małe to wymiar jest do tego dostosowywany. Zdecydowałem że wymiar animacji będzie pobierał PHP i wysyłał do flasha. Teraz centrowanie działa prawidłowo.

[ Dodano: Pią 20 Sty, 2012 19:48 ]
Jest gdzieś jakiś tutorial na temat wykonania prostego playera mp3?
Chce wykonać taki ale za bardzo nie wiem jak się za to zabrać. Te z komponentów są za duże i nie wiem za bardzo jak przekazywać do nich dynamicznie plik mp3 którego ścieżka będzie pobierana z bazy danych.
Jeśli ktoś dysponuje materiałami odnośnie audio w swishu to byłbym wdzięczny za podzielenie się.
 
     
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:  

SWiSH - Create Flash animaton the easy way

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.19 sekundy. Zapytań do SQL: 15