Instrukcja IF problem z autouruchomieniem |
Autor |
Wiadomość |
nawalonytony
Początkujący

Dołączył: 03 Lis 2010 Posty: 4 Skąd: Wawa
|
Wysłany: Sro 03 Lis, 2010 20:53 Instrukcja IF problem z autouruchomieniem
|
|
|
Witajcie,
Mam problemik, a w sumie to prośbę o pomoc w 2 tematach.
Robię sobie brandmark-a z pogodą na strone.
Napisalem sobie skrypcik w PHP ktory zczytuje odpowiednie informacje z kanalika rss
i zapisuje do pliku pogoda.txt jako zmienne pod katem pobrania przez SWISHMAX ver. 3
Dalej wczytuje sobie zmienne do odpowiednich dynamic text i wyswietlam - tutaj dziala ok
i tu mam pytanie bo w dalszej czesci mam ikony z pogoda. zczytuje sobie nazwe pliku z kanalu rss np. b04 wczytuje do zmiennej w SWISH i chce wyswietlic odpowiednia animacje swf o nazwie b04.swf.
Wymyslilem sobie 2 opcje:
1)
onSelfEvent (load) {
x = pogoda.scroll_sprite.content.ico1; // tutaj przypisuje wartosc pobrana z rss
if (x=="b01") {
container.loadMovie("b01.swf"); // a tutaj porownania i wyswietlenie
}
if (x=="b02") {
container.loadMovie("b02.swf");
}
}
---> powyzszy skrypt dziala tylko przy np. funkcji interakcyjnej np. onSelfEvent (press) a ja chce zeby uruchamialo sie automatycznie po starcie animacji. i to by bylo pierwsza moja prosba >> jak to zrobic.
A druga to pytanie czy w instrukcji np. : container.loadMovie("b01.swf"); mozemy
jakos zamiast "b01.swf" wstawic pobrana zmienna albo jakas wartosc z pola .text ?
Wiem ze pytania pewnie mocno lamerskie. Ale jakos stanolem z projekcikiem w miejscu -> a zalezy mi na czasie...
Za wszelaka pomoc z góry dzięki. |
|
|
|
 |
^Januszr


Pomógł: 216 razy Dołączył: 11 Maj 2005 Posty: 1854 Skąd: Stolyca od urodzenia
|
Wysłany: Sro 03 Lis, 2010 21:39
|
|
|
Cytat: | powyzszy skrypt dziala tylko przy np. funkcji interakcyjnej np. onSelfEvent (press) a ja chce zeby uruchamialo sie automatycznie po starcie animacji. i to by bylo pierwsza moja prosba >> jak to zrobic.
|
np poprzez:
Kod: | onFrame (1) {
//na pierwszej klatce coś zrób
} |
albo
Kod: | onSelfEvent (load) {
//przy załadowaniu coś zrób
} |
albo:
Kod: | onSelfEvent (enterFrame, includingFirstFrame) {
} |
Cytat: | czy w instrukcji np. : container.loadMovie("b01.swf"); mozemy
jakos zamiast "b01.swf" wstawic pobrana zmienna albo jakas wartosc z pola .text ? |
b01.swf może ładować text. Ale łatwiej chyba wstawić pole .text, które pobiera zmienne i na odpowiedniej klatce nadać mu _visible = true?
Trudno odpowiedzieć, bo jakoś swi nie widzę. |
_________________ Niestety używam nieoficjalnych wersji Swish, które można zassać z forums.swishzone.com - jest na szczycie listy w BugsForum.
 |
|
|
|
 |
nawalonytony
Początkujący

Dołączył: 03 Lis 2010 Posty: 4 Skąd: Wawa
|
Wysłany: Czw 04 Lis, 2010 07:15 cd..
|
|
|
Dzieki za rade >> Januszr
Ale napisalem że skrypt wlasnie nie dziala przy takich wywolaniach >> dziala tylko przy
jakis kliknieciach, najechaniach itd -- jak mam cos w tzw samowywolaniu to niestety skrypt nie dziala.
A jezeli chodzi o ta podmiane:
Cytat: |
b01.swf może ładować text. Ale łatwiej chyba wstawić pole .text, które pobiera zmienne i na odpowiedniej klatce nadać mu _visible = true? |
To chodzi o podanie przykładu.
Mam funkcje: loadMovie("sciezka do pliku");
i teraz chodzi o to ze pobralem zmienna z pogoda.txt do obiektu ico1.text
moge ja wyswietlic itd. tylko chce zeby ta zmienna wstawic w miejsce sciezki do pliku
czyli:
pobieram zmienna z pliku np. &ico1=b04.swf&
i chce ja wstawic w miejsce nazwy pliku: loadMovie("&ico1");
czyli potrzebuje informacji jak w miejsce ("sciezka do pliku"); wstawic zmienna zewnetrzna pobrana do obiektu ico1.text
czyli pobieram zmienna do obiektu ico1.text = wartość zmiennej to np. "b04.swf"
i wstawiam w miejsce sciezki do pliku : loadMovie("sciezka do pliku");
Wiem ze to troche zawile ale moze macie jakis pomysl. |
|
|
|
 |
^Januszr


Pomógł: 216 razy Dołączył: 11 Maj 2005 Posty: 1854 Skąd: Stolyca od urodzenia
|
Wysłany: Czw 04 Lis, 2010 08:00
|
|
|
Zawiłe... O wiele łatwiej zobaczyć na przykładzie SWI, o ile ktoś nie lubi domyślać się.
A może powinieneś ładować zmienne zamiast filmu, np _root.JakisMovieClip.loadVariables("JakisText.txt") ?
Może pomoże Ci temat dotyczący komunikowania się oddzielnych SWF między sobą?
http://swish.wodip.opole....opic.php?t=5279
A może po prostu nie potrafisz textu załadować? Załączam przykład. |
_________________ Niestety używam nieoficjalnych wersji Swish, które można zassać z forums.swishzone.com - jest na szczycie listy w BugsForum.
 |
|
|
|
 |
nawalonytony
Początkujący

Dołączył: 03 Lis 2010 Posty: 4 Skąd: Wawa
|
Wysłany: Czw 04 Lis, 2010 08:46 cd...
|
|
|
W zalaczniku SWI przyklad z opisem co chce zrobic.
To tak jakbym miał np kod w php.
<?php
$wielkosc=2;
echo "<font size=$wielkosc>TEKST</font>";
Zamiast konkretnej wartości size wstawiam zmienna intiger
I to samo chce zrobic w SWISH czyli:
onSelfEvent (load) {
loadVariables("ico.txt");
uchwyt.loadMovie.loadVariables("tu ma byc zmienna z ico.text"); // która bedzie nazwa pliku np. b04.swf
Poprostu nie wiem jak to zapisac i czy sie da.
}
?> |
|
|
|
 |
eden
Ekspert

Pomógł: 35 razy Dołączył: 04 Sty 2008 Posty: 265 Skąd: warsaw
|
Wysłany: Czw 04 Lis, 2010 15:27
|
|
|
Witam kolege phpowca.
Jeden z problemów ktory widze to linia
Kod: | loadMovie.loadVariables |
czegoś takiego poprostu niema.
Drugim problemem jest to ze funkcja loadVariables wykonuje sie asynchronicznie do reszty kodu w tym wątku. czyli poporostu w drugiej lini gdzie chcesz juz załadować Twoj swf, ta zmienna z txt jest jeszcze nie dostepna. Mogłbys poprostu opuźnic kilka klatek dalej polecenie loadMovie. Albo zrobic jak nalezy:
Kod: |
onSelfEvent (load) {
loader = new LoadVars();
loader.onLoad = function(success){
if(success){
// Twoj plik napewno został wczytany i mozesz operowac jego zmiennymi
uchwyt.loadMovie(this.ico1);
} else {
// Twoj plik nie został wczytany i flash nieposiada jego zmiennych
}
};
loader.load("ico.txt");
} |
zastąpic loadvariables obiektem LoadVars(); |
|
|
|
 |
nawalonytony
Początkujący

Dołączył: 03 Lis 2010 Posty: 4 Skąd: Wawa
|
Wysłany: Czw 04 Lis, 2010 18:56 cd....
|
|
|
Witaj eden - pomogło - juz obczailem.
Ale powiedz mi jeszcze jedna rzecz -> czy jak ustawie np. akcje na klatke 3 - i zadziala to znaczy ze po skompilowaniu swf-a bedzie dzialalo u wszystkich czy to jakos zalezy od szybkosci procka czy cus?
ale ten zapis : uchwyt.loadMovie(this.ico1);
cos nie sztymuje. w przykladzie ktory wstawilem po wstawieniu nie podstawia nazwy ze zmiennej
przy funkcji warunkowej przesuniecie akcji do 3 klatki poskutkowało .
Pzdr |
|
|
|
 |
eden
Ekspert

Pomógł: 35 razy Dołączył: 04 Sty 2008 Posty: 265 Skąd: warsaw
|
Wysłany: Czw 04 Lis, 2010 22:30
|
|
|
czesc. to zalezy od predkości odczytu z pliku. Lokalnie odczyt z pliku txt będzie natychmiastowy ale wciąż wolniejszy niż wykonanie się kolejnej lini w kodzie. Czas ten wydłuza się w warunkach serwerowych. Dlatego opuznianie akcji na 3 klatke czy puzniej jest troche jak "strzelanie na oslep" (poprostu zakładasz ze sie załaduje, ale jest szansa ze nie)
taki callback jak napisałem powyzej gwarantuje obsługe tego przypadku. Jeżeli cos ci niedziała z this.ico1 to załącz swi będzie szybciej.
zapis this.ico1 jets rownoznaczny z loader.ico1 poza kontekstem callbacka, i można go uzyc w kazdym momęcie. |
|
|
|
 |
|