Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „Fehler bei Variable“

jander2005

Noch nicht viel geschrieben

Hallo.

Ich habe hier folgendes problem.

Ich habe ne kleine fla mit 3 animationen und einem progressbar.

Der bar ist 500 Pixel breit. Wenn er einen bestimmten wert erreicht möchte ich das 2 der vorher unsichtbar gemachten buttons wieder sichtbar werden.

Ich habe versucht es über varioablen zu amchen und den direkten weg zu nehmen. Wenn ich den button drücke spielt die animation ab und der progressbar füllt sich. wenn ich ihn loslasse sinkt der bar wieder und die ausgangsanimation wird gespielt.

hier ist mein script:

if (bar.width <= 150) {
btnanim2.visible = false;
}
else if (bar.width >= 150) {
btnanim2.visible = true;
}

if (bar.width <= 250) {
btnanim3.visible = false;
}

else if (bar.width >= 250) {
btnanim3.visible = true;
}

Es funktioniert nicht. Entweder werden die buttons nicht sichtbar oder ich muß vorher den button loslassen und wieder drücken bis der neue button erscheint.

Wie müsste ich es am besten bewerkstelligen ?
Ich arbeite mit as3.

noch ne frage am Rande....

Wenn ich einen animationsbutton drücke und möchte das die animation dauerhaft gespielt wird, und dann beim nochmaligen drücken stoppen soll wie müsste das script dafür aussehen ?

as2 und as3 sind 2 paar schuhe also lasse ich as2 gleich sein.
 

A

ad86

Guest

AW: Fehler bei Variable

Hi,

steht Dein Script in irgendeiner Methode (MouseEvent.MOUSE_DOWN, Event.ENTER_FRAME, oder so)?

Zum Verständnis: Deine Schaltflächen (btnanim2, btnanim3) sollen sichtbar werden, wenn ButtonA (ich nenn ihn mal so) gedrückt ist UND deine progressbar einen bestimmten Wert erreicht (z.B. 150). Soll btnanim2 nachdem Du die Maustaste wieder losgelassen hast immer noch sichtbar sein?

Um btnanim2 sichtbar zu machen, müsstest Du Dein gezeigtes Script in Deiner MouseEvent.MOUSE_DOWN-Funktion haben (ich gehe mal davon aus, dass es so eine gibt, in der deine Bar größer wird).

Noch eine Sache zu Deinem Script. Es reicht, wenn Du das schreibst, das else if macht keinen Sinn. Erst überprüfst Du ob der Wert kleiner gleich 150 ist, und wenn er größer ist überprüfst Du nochmal ob er größer oder gleich 150 ist. Kurzform für Dein Script wäre somit:
Code:
if (bar.width <= 150) {
btnanim2.visible = false;
}
[COLOR="Red"]else {[/COLOR]
btnanim2.visible = true;
}


ZU Deiner Frage am Rande:
Ich gehe davon aus, dass Deine Animation ein extra MovieClip ist.
Am Ende (also nur im letzten Frame davon) könnte das Script stehen:
Code:
if (shouldLoop){
gotoAndPlay(1);
}
else{
stop(); //oder gotoAndStop(1);
}

Für Deinen Button hast Du ein MouseEvent.CLICK-Methode:
Code:
shouldLoop= !shouldLoop;

Und im erste Frame deiner Anwendung:
Code:
var shouldLoop:Boolean=false;


MFG ad86
 
Zuletzt bearbeitet von einem Moderator:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Statistik des Forums

Themen
175.156
Beiträge
2.581.859
Mitglieder
67.223
Neuestes Mitglied
Desiree
Oben