if-Schleifen-Problem

selectus

Mitglied
Hallo,
habe da ein Problem:

Ich habe in einem MC eine if-Schleife:
Im letzten Frame des Filmes steht:
if (_root.i<2) {
_root.i++;
_root.gotoAndPlay(2);
} else {
stop();
}
(i ist natürlich im ersten Frame mit 0 angegeben.)

Der MC wird also 3x abgespielt.
Der MC beginnt mit einem EIN-SChalter zu laufen.
Wir erreiche ich es es, das ich mit einem Stop-Schalter,
den Movie-Clip beende, also die If-Schleife ignoriere?

Der Film hat insgesamt 410 Frames.
Es wäre doch möglich das der Film mit Klick auf den Stop-Schalter bei Frame 409 anhält, nur - wie Programmiert man das?
 
Hi hi :)

Also ehrlich gesagt verwirrst du mich ein wenig mit MC + Film.
Du schreibst, dass eine if-Schleife im MC ist, aber postest hier den Code einer if-Schleife, die angeblich im letzten Frame des _Filmes_ ist.
War das richtig?

Es wäre doch möglich das der Film mit Klick auf den Stop-Schalter bei Frame 409 anhält, nur - wie Programmiert man das?
gotoAndStop(409); ;)

Geist
 
So wie ich es gepostet habe ist es richtig.
Die Schleife steht im letzten Frame.
Mit MC und Filme meinte ich das selbe, sorry.

Mit gotoAndStop(409); mache ich ja nur einen Sprung zum Frame.
Der MC soll aber durchlaufen bis zum Ende.

Könnte evtl. ein break-Befehl klappen?
Wenn ja, wo baue ich diesen ein?
 
ich hab mal was, vielleicht gefällts dir ja =)

ist ne spartanische lösung, aber besser als nix, find ich :)

und zwar,

auf der bühne befinden sich 2 buttons und 1 mc [="film"]

auf dem play button ist der code:
Code:
	on (press) {
		_root.i=0
		_root.m=10
		with (film) {
			gotoAndPlay(2);
		}
	}

und auf dem stop button
Code:
	on (press) {
		_root.m=20;
	}

im ersten frame des mc "film" ist ein stop befehl [hattest du sicher genauso =) ]
und im letzten frame steht
Code:
	if (_root.m<15) {
		if (_root.i<2) { 
			_root.i++; 
			gotoAndPlay(2);}  
		else { 
			stop();}}
	else {
		stop;}

d.h. wenn m<15 [alsom = 10] ist, dann wird deine schleife ausgeführt, die du schon hattest,
ansonsten [also m = 20] wird gestopt

...

bei mir funktioniert es =) hoffe, bei dir auch,

/kroschka
 

Anhänge

  • if_problem.zip
    6,4 KB · Aufrufe: 9
Hi,
du könntest auch einfach um deine If-Abfrage im letzten Frame eine weitere if-abfragre machen die ob eine Variable den wert 1 hat und wenn das so ist den film stoppt.

Code im letzten Frame:

if (v01 != 1) {
if (_root.i<2) {
_root.i++;
_root.gotoAndPlay(2);
} else {
stop();
} ;
} else {
stop ();
}

Code für Stop - Button

on (release) {
v01 = "1";
}

Beim Startbutton musst du zusätzlich noch ein
v01 = "0";
einfügen

MTK
 
Original geschrieben von MTK
Hi,
du könntest auch einfach um deine If-Abfrage im letzten Frame eine weitere if-abfragre machen

@ MTK:
bevor du was postest, wärs nett, wenn du die anderen antworten lesen würdest =)
hab nämlich genau das gleiche gemacht :p
und es -hoffentlich- ausführlich genug erklärt,
damit keine weiteren fragen entstehen

=)
kroschka
 
Will mich da ja gar nicht einmischen aber es sieht so aus als würde hier ein wenig über Kreuz gedacht.
Warum einfach wenn es kompliziert auch geht.
Du brauchst doch auf deinem Stop Button deine Variable i nur höher als 2 setzen. Dann hast Du das mit deiner If Abfrage ja schon gelöst.
Bsp.
PHP:
on(release){
i=3;
}

//oder
on(release){
_root.i=3;
}


PS: Will auch nicht kleinlich sein aber es gibt keine if Schleifen
Bei "if" handelt es sich um Abfragen die eine Bedingung überprüft und
true bzw false zurückgibt.
"for" oder "while" ist eine Schleife
die mehrmals durchlaufen werden kann.
 
Zuletzt bearbeitet:
well done,

denken ist eben manchmal glückssache.
@Kroschka: Da hätte ich auch drauf kommen sollen.

Danke, für eure Hilfe
 
ops, :rolleyes: stimmt, habe ich if-schleife gesagt?
dann nehm ich das mal hiermit zurück =)
derbär hat wie immer recht *g*

@ selectus:
schon ok, manchmal weiss mans, manchmal nicht (wie du schon sagtest, glückssache eben) =)

wir haben alle was draus gelernt *g*
(ich zumindest =) )

=) somit gute nacht noch
 

Neue Beiträge

Zurück