SWiSH Forum
Forum użytkowników programów SWiSH

SWiSH Max - Sterowanie animacją z dodatkowym parametrem

SM2013 - Pią 05 Lip, 2013 10:52
Temat postu: Sterowanie animacją z dodatkowym parametrem
To mój pierwszy wpis na tym forum, więc na początek Cześć wszystkim.

A teraz opis mojego problemu. Przeszukałem forum i nie znalazłem odpowiedzi na moje pytanie (jeżeli gdzieś jest to z góry przepraszam), więc:

Mam taki projekt w którym występuje w obecnej chwili 19 różnych kipów nazwanych A1-A19. Chodź teraz o to czy jest jakaś możliwość żeby nazwa klipu w funkcji gotoAndPlay była wybierana wg zmiennej.

Czyli np mam jakąś zmienną dla przykładu nazwę ja "nazwaklipu". Wartość tej zmiennej będzie zależna od wcześniejszych zdarzeń, dla przykładu niech będzie że została do nie przypisana wartość "A3".

Standardowo funkcja dla zdarzenia które chcę wywołać to: "A3.gotoAndPlay(3);"

i teraz mój cały problem czy można zastąpić w jakiś sposób to "A3" nazwą zmiennej "nazwaklipu". Czyli jeżeli wartość zmiennej zmieni się na "A2" to do 3. klatki zostanie pokierowany klip "A2" itd.

O ile w przypadku 19 klipów poradziłem sobie na razie używając deklaracji warunkowej if, w osobnym klipie to docelowo takich klipów będzie ok 180, więc beznadzieja. Po za tym nawet teraz to kiepskie rozwiązanie.

Pozdrawiam.

Januszr - Pią 05 Lip, 2013 13:41

Nie widzę SWI i nie wiem co to za zmienna i jakie są sposoby przyjmowania jej wartości, więc proponuje tak:
- w scenie, po wszelkich efektach STOPy
- przy każdym stopie odnośnik do odpowiedniej klatki movie clipa
np. tak:
Kod:
onFrame (13) {
    stop();
    a1.gotoAndStop(12);
}
onFrame (14) {
    stop();
    a2.gotoAndStop(19);
}
onFrame (15) {
    stop();
    a4.gotoAndStop(66);
}
onFrame (16) {
    stop();
    a3.gotoAndStop(1);
}

Innymi słowy steruj zmienną jako odnośnikiem do klatki w scenie, w której dużo możesz napisać.

SM2013 - Sob 06 Lip, 2013 06:26

Dzięki, miałem też taki pomysł. Myślałem o przypisaniu etykiet do konkretnych klatek w takim klipie, i sterowaniem wg nich.

Tyle że to nie jest wciąż idealne rozwiązanie, bo to dużo nie potrzebnego kodu. Chodzi mi żeby generować ten kod ze zmiennej, czy w ogóle jest taka możliwość?

Chodzi mi o to że mam np taki kod:

on (press) {

var nazwaklipu : String = "A1";
'nazwaklipu'.gotoAndPlay(3);
}

i teraz co zrobić żeby w miejsce nazwa klipu, wstawiło się wartość tej zmiennej, czyli "A1"?

Januszr - Sob 06 Lip, 2013 21:42

nie da się tak (według mojej wiedzy). Najprostsze rozwiązanie podałem.

Powered by phpBB modified by Przemo © 2003 phpBB Group