Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Problem z flash menu - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Grafika, Flash, multimedia (https://www.webmastertalk.pl/forum-grafika-flash-multimedia)
+--- Wątek: Problem z flash menu (/thread-problem-z-flash-menu)

Strony: 1 2 3


RE: Problem z flash menu - Zikerek - 17-06-2010

To raz jeszcze ja, wszystko ladnie dziala, natomiast gdy najade na button i szybko z niego zjade to animacja nie zostaje dokonczona, a od razu przechodzi do momentu gdzie jest 'stop' i sie nie zwija - czy jest jakis sposob by temu zapobiedz?

Obecnie moj kod wyglada tak:

Kod:
on (rollOver)
{
_root.home_mc.gotoAndPlay(2);
}
on (rollOut)
{
_root.home_mc.gotoAndPlay(25);
}

Zakladam, ze powinienem uzyc jakichs zmiennych i petli while oraz przesuwania co klatke, dobrze mysle? Moze jest jakis inny sposob by raz zaczeta animacja doszla do konca, ew. zaczela sie chowac gdy zjade z przycisku ;>


RE: Problem z flash menu - Engine - 18-06-2010

Najprostszy sposób użyć szybkich animacji.

Drugi sposób to odtwarzanie klatek do tyłu wywołując daną funkcję, a w pierwszej klatce wyłączając tą funkcję.
Pewnie zapytasz czy mam taki AS napisany, a no ma ale nie pod Twój przykład:

Kod:
//KEY Left i Right//
var myListener1:Object;
myListener1 = new Object();
myListener1.onKeyDown = function() {
    if (Key.isDown(Key.RIGHT)) {
        delete onEnterFrame;
        play_mc.next_mc.gotoAndPlay("pressed");
        play();
    }
    if (Key.isDown(Key.LEFT)) {
        delete onEnterFrame;
        play_mc.back_mc.gotoAndPlay("pressed");
        onEnterFrame = function () {
            (_currentframe == 1) ? delete onEnterFrame : prevFrame();
            if (_currentframe>1) {
                prevFrame();
            } else {
                delete onEnterFrame;
            }
        };
    }
};
Key.addListener(myListener1);

Mój kod AS cofa animację ale działa po wciśnięciu klawisza w lewo. Musisz go sobie przystosować dla własnych potrzeb.

Aha naucz się znaczenia _root bo tak częste używanie _root to zły nawyk, niepotrzebnie zamulasz Flasha.


RE: Problem z flash menu - Zikerek - 23-06-2010

Dziekuje, kod powyzej nie byl zbyt pomocny, ale jakos sobie poradzilem.

Zastanawia mnie rowniez w jaki sposob obslugiwane sa argumenty, z ktorymi wywoluje sie menu, np. widzialem kiedys cos podobnego: flash.swf?id=1. W jaki sposob mozna taki argument wylowic i jak go uzyc? Mianowicie chcialbym, zeby zaleznie od ID jedna z pozycji menu byla ustawiona na X klatce i animacja jej bylaby nieaktywna (tak, by zaznaczyc na jakiej podstronie sie znajdujemy). Z gory dziekuje za pomoc Smile Moze byc przyklad jakis uzycia wlasnie argumentow w takiej sytuacji, z reszta sobie powinienem poradzic Smile


RE: Problem z flash menu - Engine - 23-06-2010

Tak na szybko i na prosto:
this["item" + _root.button].gotoAndPlay(2);

item - to nazwa butona,
_root.button - to liczby przekazywane do flasha.

Czyli butony nazywasz item1, item2, item3, itd...

wywołujesz to np:
flash.swf?button=1


RE: Problem z flash menu - Zikerek - 24-06-2010

czyli np, jesli dobrze zrozumialem cos w stylu

if (root.button == 1)
{
//tutaj akcja
}

?? Rzecz jasna nie patrze tutaj na skladnie, to tylko pseudo kod : p


RE: Problem z flash menu - Engine - 24-06-2010

Kod:
if (root.button == 1)
{
//tutaj akcja
}

Nie załapałeś. Jeśli przekazujesz do flash button=1, to co napisałeś dla flasha będzie informacją:

Kod:
if (1 == 1)
{
//tutaj akcja
}

Teraz chyba załapiesz.


RE: Problem z flash menu - Zikerek - 24-06-2010

no tak Big Grin o to mi chyba chodzilo ; p

Kod:
if root.button<1 jezeli przekazuje ?button=1) == 1
{
//akcja gdy button=1
}
if root.button<tutaj przekazuje ?button=2> == 2
{
//akcja dla button=2
}

i tak dalej?Big Grin Nie wiem czy czegos nie zrozumialem, jestem troche zaspany juz : p