Jump to content


Photo

Flash Lite w SE - 1.1 oraz 2.x Przydatne inf. do tworzenia zawartości flash dla SE


  • Please log in to reply
No replies to this topic

#1 OFFLINE   mc_kibel

mc_kibel

    Proud Member of Sony.yt Community

  • User
  • 26 posts
    • Time Online: 1h 1m

Posted 30 December 2011 - 16:36

Witam ;)

Poradnik tworzenia tapet we flash lite 1.1 wyświetlających info o MP3 jest w dziale ogólnie o SE i oprogramowaniu > software. Jest jednak wyjątkowo łopatologicznie napisany, co dla ludzi bawiących się flashem może okazać się męczące.

Dlatego zebrałem wszystkie informacje i umieściłem je tutaj. :) Wszystko znajduje się w jednym miejscu - do tego dochodzą jeszcze informacje o Flash Lite 2.x :)

Jak wiadomo, dużo SE obsługuje Flash Lite.

Tutaj pokażę Wam trochę przydatnych rzeczy na ten temat, do tworzenia na przykład tapet flash lub flash menu (jeśli chodzi o flash menu to w wolnej chwili przeanalizuje kod, teraz zajęty jestem innymi sprawami ;) ). Potrzebny program to najlepiej Macromedia Flash 8 z zainstalowanym update-m dla Flash Lite 2.x. Jest szybsza i stabilniejsza od Adobe Flash CS3.

No więc kilka rzeczy:
  • Zegar analogowy:
    -Instance name movie clipa dla wskazówki godzin - HourHand
    -Instance name movie clipa dla wskazówki minut - MinHand
    -Instance name movie clipa dla wskazówki sekund - SecHand
    -Wszystkie movie clipy muszą mieć punkt obrotu ustalony na środkowy dół.
    Dla Flash Lite 1.1:

    Hours1 = fscommand2("GetTimeHours");
    Minutes1 = fscommand2("GetTimeMinutes");
    Seconds1 = fscommand2("GetTimeSeconds");
    setProperty("HourHand", _rotation, Hours1 * 30 + Minutes1 / 2);
    setProperty("MinutesHand", _rotation, Minutes1 * 6);
    setProperty("SecHand", _rotation, Seconds1 * 6);
    
    Dla Flash Lite 2.x:

    Hours1 = fscommand2("GetTimeHours");
    Minutes1 = fscommand2("GetTimeMinutes");
    Seconds1 = fscommand2("GetTimeSeconds");
    HourHand._rotation = Hours1 * 30 + Minutes1 / 2;
    MinutesHand._rotation = Minutes1 * 6;
    SecHand._rotation = Seconds1 * 6;
    
  • Zegar cyfrowy (bez sekund)
    -VAR pola tekstowego wyświetlającego czas to "CurrentTime"
    Dla Flash Lite 1.1 i 2.x:

    hour = fscommand2("GetTimeHours");
    minutes = fscommand2("GetTimeMinutes");
    if(hour < 10){
    	 hour = "0" add hour;
    }
    if(minutes < 10){
    	 minutes = "0" add minutes;
    }
    CurrentTime = hour add":" add minutes;
    
  • Wyświetlanie % baterii
    -VAR pola tekstowego wyświetlającego stan baterii: "BattStatus"
    Dla Flash Lite 1.1 i 2.x:

    Battery = fscommand2("GetBatteryLevel");
    MaxBattery = fscommand2("GetMaxBatteryLevel");
    BatLevel = Math.round(Battery / MaxBattery * 100);
    BattStatus = "Battery" add":" add BatLevel add"%";
    
  • Wyświetlanie dnia tygodnia
    -VAR pola tekstowego: "weekdayTXT"
    Dla Flash Lite 1.1 i 2.x:

    weekday = fscommand2("GetDateWeekday");
    if(weekday == 6){weekdayTXT = "Sobota"}
    if(weekday == 5){weekdayTXT = "Piatek"}
    if(weekday == 4){weekdayTXT = "Czwartek"}
    if(weekday == 3){weekdayTXT = "Sroda"}
    if(weekday == 2){weekdayTXT = "Wtorek"}
    if(weekday == 1){weekdayTXT = "Poniedzialek"}
    if(weekday == 0){weekdayTXT = "Niedziela"}
    
  • Wyświetlanie nazwy operatora:
    -VAR pola tekstowego: "myProvider"
    Testowane dla Flash Lite 1.1, jednak na 2.x też powinno działać:

    fscommand2("GetNetworkName", "myProvider");
    
  • Wyświetlanie informacji o aktualnie odtwarzanej MP3:
    Flash lite 1.1:
    -VAR pól tekstowych:
    --Dla tytułu: TITLE
    --Dla artysty: ARTIST
    --Dla albumu: ALBUM
    loadVariables("MP:",_root);
    fscommand2 ("MP:", "TITLE");
    fscommand2 ("MP:", "ARTIST");
    fscommand2 ("MP:", "ALBUM");
    
    Flash lite 2.x:
    -Instance Name pól tekstowych:
    --Dla tytułu: TITLE
    --Dla artysty: ARTIST
    --Dla albumu: ALBUM
    onEnterFrame = function ()
    {
    loadVariables("MP://data", _root);
    Title.text = _root.TITLE;
    Album.text = _root.ALBUM;
    Artist.text = _root.ARTIST;
    }
    
Teraz trochę opisu.
Żeby informacje były odświeżane, należy zapętlić kod. Najlepszym sposobem jest po prostu przedłużenie animacji do dwóch klatek, a kod umieścić w pierwszej. Wtedy w drugiej klatce należy dodać:
gotoAndPlay(1);

Wtedy informacje są odświeżane na bięrząco (tj. godzina, dzień tygodnia, nazwa operatora).

Można też zrobić tak, aby kod został wykonywany dopiero wtedy, gdy jakiś warunek będzie spełniony:
if (warunek){
kod-do-wykonania();
}

Tak więc na przykład dla flash lite ukazanie się obrazku, gdy zostanie włączona muzyka:
loadVariables("MP:",_root);
fscommand2 ("MP:", "TITLE");
fscommand2 ("MP:", "ARTIST");
fscommand2 ("MP:", "ALBUM");
if(length(TITLE) != 0 or length(ARTIST) != 0 or length(ALBUM) != 0){
gotoAndPlay(xx);
}

Należy dodać, że kod umieszczamy w pierwszej klatce, w drugiej dodajemy "gotoAndPlay(1);", które zapętli ten kod. Gdy w końcu zostanie wykryte włączenie odtwarzacza, animacja przejdzie do klatki xx - gdzie będzie można umieścić obrazek.
Teraz w klatce xx dodać należy kod, który wykryje wyłączenie odtwarzacza:
loadVariables("MP:",_root);
fscommand2 ("MP:", "TITLE");
fscommand2 ("MP:", "ARTIST");
fscommand2 ("MP:", "ALBUM");
if(length(TITLE) == 0 && length(ARTIST) == 0 && length(ALBUM) == 0){
gotoAndPlay(1);
}

A w klatce następującej po xx, należy dodać kod "gotoAndPlay(xx);", który zapętli wykonywanie akcji odpowiedzialnej za wykrycie wyłączenia odtwarzacza.
Oto był właśnie taki przykład prostej pętli z wykonaniem akcji, gdy odtwarzacz zostanie włączony i z wykonaniem akcji, gdy odtwarzacz zostanie wyłączony.
Bawiąc się trochę we Flashu, można uzyskać naprawde wiele ciekawych rzeczy :)

Pozdrawiam.

not found: Poprawiłem emotikonki, bo ich nie wyświetlało :)

Edited by not found, 17 March 2013 - 20:56.

  • 2
Sony Ericsson X8 || GingerDX v017 Android 2.3.7 || Sense Theme


1 user(s) are reading this topic