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
external file, loading, backward, justify
Autor Wiadomość
waves 
Początkujący



Wiek: 48
Dołączył: 19 Sie 2011
Posty: 5
Skąd: z za rogu ]:->
Wysłany: Pią 19 Sie, 2011 16:55   external file, loading, backward, justify
   Moje WWW: underconstruction


Witajcie, to pierwszy post (pomimo złożoności tematu pomyślałem o zbiorczym pytaniu gdyż to co mnie "pokonało"( po czterech dniach , czytania/szukania i prób...) ma być realizowane w jednym pliku) Zacznę od tego ze dziękuje wszystkim za to ze piszecie w tym forum i pomogliście mi zrozumieć kilka rzeczy. Stoję przed wyborem kolejnego narzędzia (wydaje mi się ze SWiSH daje pewną szybkość/komfort tworzenia efektów.. daje nie daje gdyż jak widać powaliło mnie to i pisze z prośbą o pomoc). Jestem grafikiem 2D, 3D oraz architektem ale nie programistą, pomimo to postaram się rzeczowo wszystko opisać oraz zadać kilka pytań (mam nadzieje że to pomoże też kolejnym osobą szukającym odpowiedzi).

Tematy:

1. 1 loading (plików external - zewnętrznych) mamy (wszystko do pobrania w lince na końcu tego posta) pliki: graficzny G_001.jpg ( tło) oraz dwa pliki tekstowe T_001.txt (nagłówek) oraz T_002.txt (treść) wczytywane za pomocą: test_sceny_001.swf która zawiera:
scena_A - loading
scena_B - "zawartość" czyli animacje na lini czasu ( + odnośniki do plików zewnętrznych)
animacja składa się z: sekwencji_A(pojawianie sie: klatki 0-20)/stop/sekwencji_B(akcja na ruch myszki): klatki 21-40/stop

i gdyby chodziło o normalne zaczytanie kompletnego SWF'a (z grafiką i tekstem) nie ma problemu:
scena_A mogłaby wyglądać w sekcji skrypt tak:
Kod:

onFrame (1, afterPlacedObjectEvents) {
    p = percentLoaded();
    procent_txt = p add "%"; //tekst który procentowo przelicza i wyswietla pobraną zawartość//
    progress_box._xscale = p; //obiekt który jest skalowany procentowo wraz z pobieraniem//
    if (p >= 100) {
        gotoSceneAndPlay("scena_B", 1); //scena która sprawdza "loading" i która załaduje po pobraniu//
    }
}
onFrame (2, afterPlacedObjectEvents) {
    prevFrameAndPlay();
}


gdzie :
progress_box - to obiekt który się skaluje
procent_loading - to obiekt który wyświetla wartość (procent_txt) procentową wartość pobrania.

1.2 pytania:
A) jak podać wielkości kolejnych plików i szybkość ściągania (czyli żeby było np: 70% z 200kb speed:25kb/s)
B) jak sprawdzić wielkość i kontrolować pobieranie plików zewnętrznych (teraz one ładują się w dowolnej kolejności? jak tą kolejność ustawić?)
najbliższe rozwiązanie wygląda mniej więcej tak:

Kod:
function loadContent(url:String):void {
    contentLoader = scena_B(); //"scena_B" do której ma byc wczytany powyższy plik graficzny//
    contentLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loading);
    contentLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, contentLoaded);
    contentLoader.load(new URLRequest(url));
}
function contentLoaded (evt:Event, unnamed) : void {
    addChild(contentLoader);
}
function loading(evt:ProgressEvent):void {
    var loaded:Number = evt.bytesLoaded / evt.bytesTotal;
    setBarProgress(loaded);
}
function setBarProgress(value:Number) {
    progress_box.scaleX = value; //obiekt "progress_box" który ma być skalowany procentowo//


C) nie sprawdza wszystkich plików, jak dodać kolejne?
D) nie skaluje obiektu progress_box (w FLASH'skaluje)
E) nie przelicza wielkości gdyż to jak wyżej nie wiem jakimi opisać wartościami

2.1 external file (jpg, txt)
Head_txt - to ramka do której ładuje się tekst z pliku: T_001.txt
Content_txt - to ramka do której ładuje sie tekst z pliku: T_002.txt
w sekcji skrypt:

Kod:
onFrame (1) {loadVariables("T_001.txt") //ścieżka pliku na dysku lub serwerze np."nagłówki/T_001.jpg"//
}
onFrame (3) {head_txt = var01  //ładuje nagłówek do ramki head_txt//
}
onFrame (4) {loadVariables("T_002.txt")  //ścieżka pliku na dysku lub serwerze np."teksty/T_001.jpg"///
}
onFrame (6) {content_txt = var02 //ładuje treść do ramki content_txt//
}
onFrame (7) {frame_raster.loadMovie("G_001.jpg")  //ścieżka pliku na dysku lub serwerze oraz załadowanie grafiki do ramki frame_jpg//


2.2 pytania
A) powyższa składnia działa tylko pytanie czy to jest zrobione poprawnie?
B) Frame_jpg - to ramka do której ma wczytać się plik graficzny - działa, pytanie czy to zrobiłem poprawnie używając ramki tekstowej w SWiSH a w skrypcie loadMovie :-/ ?
C) Frame_vec - to animowane tło - jak można tego użyć do wyświetlania loadingu (tego powyżej z sceny_A? i potem zostawić do dalszych animacji tutaj)
D) z serii ktokolwiek widział ktokolwiek wie" ? ;-[ scena_B - po pobraniu plików z serwera (T_001.txt oraz T_002.txt)czyli plik: test_sceny_001.swf (ale na serwerze nie w off line na dysku) nie wczytuje zawartości plików tekstowych ( jeżeli zrobimy przeładuj w przeglądarce, ładuje i widać zawartość.) jak to poprawić? przydałoby się reload?
E) justify - czyli znaczniki HTML w zewnętrznych plikach TXT (i o tym pisaliście, czytałem) ale znacznik - justyfy (czyli dopasuj do lewej i do prawej jednocześnie) nie działa. (elementarna opcja która powinna byc z "guzika" przy formatowaniu tekstu od 1 wersji SWiSH'a - wystarczy zobaczyć na panel w FLASH'ce) poprawna składnia: <p style="text-align: justify">tutaj wpisujemy tekst który wyrównuje sie do dwóch bocznych krawedzi</p> pytanie czy wartość Var= to jakoś zakłóca? tak czy inaczej jakie jest na to rozwiązanie?

3.1.button_REW_FF - aktywne pole sterujące przebiegiem animacji Backward i forward (czyli przewijaniem lini czasu do przodu i do tyłu) sekcja skrypt:

Kod:
on (rollOver) {this.skipFrameAndPlay(1); //mamy stop na 20 klatce i wtedy pojawia sie obiekt Frame_vec, najechanie na obszar powoduje uruchomienie animacji dalej//
}
on (rollOut) {this.prevFrameAndStop(); //i teraz  kiedy zjedziemy z obiektu animacja jedzie od tego miejsca do klatki 20, pytanie jak to zmusić do powtarzania...//
}


zapewne kierunek myślenia powinien iść w tą stronę...

Kod:
button_REW_FF.addEventListener(MouseEvent.MOUSE_DOWN, onMsDownL);
function onMsDownL(event:MouseEvent):void
{
addEventListener(Event.ENTER_FRAME, enterFrameHandler);
}

button_REW_FF.addEventListener(MouseEvent.MOUSE_UP, onMsUpL);
function onMsUpL(event:MouseEvent):void
{
removeEventListener(Event.ENTER_FRAME, enterFrameHandler);
}
function enterFrameHandler(e:Event):void
{
prevFrame();

if ( this.currentFrame == 1 )
{
removeEventListener(Event.ENTER_FRAME, enterFrameHandler);
}


3.2 pytanie
A) przewijanie do przodu działa do tyłu oczywiście nie i rozumiem ze to chodzi o coś więcej jednak po 4 dniach nie napisałem/odnalazłem działającego rozwiązania
B) AS3 zakłada możliwość sterowanie szybkością tzn mamy wolno/szybciej/wolno ...pasek nam się rozpędza i hamuje przed końcem... to możliwe? SWiSH brakuje strasznie finezji...

Pomożecie?

ps. chce to połączyć z http://gardengnomesoftware.com/ w panoramach 360 gdyż tam nie ma żadnych opcji animacji graficznych na wyżej wymienionych efektach mogę oprzeć cały interface i dodatkowe panele, projekt mam, panorama 360 czeka... jednak utknąłem w SWiSH :-/

tu jest cały source: http://www.sendspace.com/file/wkdenu
test_sceny_000.swf - to jest plik z animacją który pokazuje dokładnie jak chciałbym żeby to działało (tutaj jest to zrealizowane na potrzeby lepszego przykładu)
test_sceny_001.swf - to plik roboczy z tym co działa (do dzisiaj)
+ plik graficzny i dwa tekstowe
(dla szybszego testowania skróciłem czasy akcji animowania - nie wygląda... ale nie o to chodzi)
 
     
^Januszr 



Pomógł: 216 razy
Dołączył: 11 Maj 2005
Posty: 1854
Skąd: Stolyca od urodzenia
Wysłany: Sob 20 Sie, 2011 07:51   

1: http://files.swish-tutori...act=file&id=572
2: nie rób nic na klatce 1, zrób na klatce 2 i napisz czy działa. Jeżeli działa to znaczy, że jest poprawnie.
3: przewijanie animacji do tyłu zamieściłem na tym forum, co do spowolnienia ruchu: http://www.swishtutor.com/m/0069.htm
Może przyda się? Jakoś nie chce mi się czytać tak wielkiej ilości textu :)
_________________
Niestety używam nieoficjalnych wersji Swish, które można zassać z forums.swishzone.com - jest na szczycie listy w BugsForum.
 
     
waves 
Początkujący



Wiek: 48
Dołączył: 19 Sie 2011
Posty: 5
Skąd: z za rogu ]:->
Wysłany: Wto 23 Sie, 2011 16:17   
   Moje WWW: underconstruction


Witam ponownie,
nie znałem tych tron, są świetne, masa doskonałych przykładów... BIG thx.
(może ktoś powinien dać na forum taki zamknięty temat: "linki" i tam jeden wyraz/zdanie opisujące + linka tak jedno pod drugim... to w końcu też niezła pomoc...)

Z twoich donosików złapałem że do animacji wstecz jest potrzebny zapętlający się kontroler który póki jest spełniony warunek cofa klatkę wstecz (i tu warunek powiedzmy nadal spełniony wiec jeszcze raz... i pętla, póki nie zjadę myszka z guzika on cofa animacje) - co jest oczywiste i logiczne...
w praktyce... nie takie proste (dla mnie)

..i nie działa, pomimo kilkudziesięciu rożnych prób, nie wiem jak ograniczyć działanie tych funkcji tzn animacja składa się z:
A) sekwencji startowej/stop - i to powinno odtwarzać sie na sztywno od 0-20 klatki
B) sekwencji animacji w przód/w tył - zależne od - rollOver/rollOut - od 21-40 klatki
(w przykładzie są dwa guziki a tu jest jeden, być może tu jest problem)
C) do tego to rozpędzanie i hamowanie - wtedy nic już nie chce działać... kończą mi się pomysły i czas.

w REW_function
Kod:
onFrame (20, afterPlacedObjectEvents) {setLabel("play"); //odtwarzanie scena_B wstecz//
    tellTarget (_root.scena_B) {prevFrameAndStop();
    }
}
onFrame (21, afterPlacedObjectEvents) {prevFrameAndPlay();
}

a w Button_REW_FF
Kod:
onFrame (20) on (rollOver) {tellTarget (_root.scena_B) //odtwarzanie scena_B bezposrednio//
    {play();
    }
}
onFrame (21) on (rollOut) {tellTarget (_root.REW_function) //odtwarzanie scena_B pośrednio za pomocą funcji z REW_function//
    {gotoAndPlay("play");
    }
}

nie jedzie...

Czy może ktoś z tym pomóc? ...Wytłumaczyć tak żebym zrozumiał lub ewentualnie skorygować mój plik tak żeby działał? Może to drugie będzie mniejszym problemem? a ja patrząc na gotowe rozwiązanie ogarnę to jakoś? :-/
source: test_sceny_002 (+003 +pliki external): http://www.sendspace.com/file/4lbq4t

usunąłem loading... czyli: scena_A - z tym też jest problem :-/ całość jest w: test_sceny_003
w takiej formie...
Kod:

onFrame (1, loadedPercent = _parent.scena_B.getPercentLoaded();
    if (_parent.scena_B.getBytesLoaded() >= 100) {
    this.progress_box._xscale = loadedPercent;
}
if (Math.ceil(loadedPercent) >= 100 && _parent.scena_B.getBytesLoaded() >= 100) {
    gotoSceneAndPlay("scena_B", 1);
    }
}
onFrame (2, getPercentLoaded) {
    p = percentLoaded();
    procent_txt = p add "%";
   
onFrame (3, afterPlacedObjectEvents) {
    prevFrameAndPlay();
}

nie jedzie...

ad.pierwszy post - myślałem że pisząc dokładniej będzie to uproszczeniem a nie utrudnieniem.. w przeczytaniu, heh.

update 01: i tak powiało ciszą... jeżeli to za dużo na poprawienie ot za free... to z chęcią w zamian ustawie do pionu ]:-> graficznie jakieś twoje www mam za sobą 15lat pracy i setki zleceń, to nie problem...
 
     
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.2 sekundy. Zapytań do SQL: 14