Bedienung formulieren

tanja

Mitglied
Hallo,
ich verwende Flash MX.
Ich bin am Anfang des AC,und seit einem Tag versuche ich eine Bedienung zu formulieren :-( vergeblich.

Die Bedienung verstehe ich so:
in der runden Klammer ist die formulierte Bedienung, während die beiden geschweiften Klammern ist die Aktion, die dann ausgeführt wird, wenn sich die Bedienung wahr erweist.

Ich habe eine Navigation Leiste, die sich bewegt. Die Navi Leiste läuft aber aus dem Bild, also meine Bedienung:

onClipEvent (load) {
if (_root.mc_nav_flowers._y=380) {
_root.mc_nav_flowers._y=380;
;
}
}

Wenn die Navi Leiste die Y-position 380 erreicht, soll sie eigentlich dort bleiben.
Es ist nicht der Fall. Warum?

Kann mir es jemand erklären?
Danke sehr im voraus
Tanja
 

Anhänge

Hab mir das Beispiel jetzt nicht runtergeladen da wenig Zeit aber kurz:

Flash kennt zwei Arten von "="

Vergleichen von Werten: == (Doppelgleich)
Zusweisen vonwerten: =

In einer if-Abfrage müßtest du also ein Doppelgleich verwenden
PHP:
...
if (_root.mc_nav_flowers._y==380) {
...
Wobei mir der Sinn deiner Abfrage noch nicht ganz klar ist, denn im Prinzip fragst du: Wenn die Sonne scheint, dann soll die Sonne scheinen. Aber das tut sie dann ja schon. ;)

Beim clipEvent(load) wird das auch nur zu Anfang geprüft ...

Gruß
rena
 
In deinem Skript sind einige Denkfehler drin:

PHP:
onClipEvent (load) {
	if (_root.mc_nav_flowers._y=380) {
		_root.mc_nav_flowers._y+=370;
		;
	}
}
onClipEvent (enterFrame) {
	_y = _y+_ymouse/15;
}
In Worten sagt dein Skript soviel wie:
"wenn der Balken bei der y-Position 380 ist, dann setzte ihn auf seine bisherige y-Position + 370. (380 + 370 = 750) Das wäre dann weit außerhalb der Bühne.
Aber wie Rena schon sagte klappt das ganze nur mit zwei Gleichheitszeichen und es wird durch onClipEvent (load) auch nur einmalig beim Laden geprüft.
12 mal pro Sekunde dagegen wird eine y-Position = der der Maus durch 15 gesetzt.

Dieses Skript ist zwar nicht wirklich elegant, aber funktionstüchtig:
PHP:
onClipEvent (enterFrame) {
         //prüfen ob der Balken innerhalb seines "Bereiches" ist
	if (this._y > 35 && this._y < 398) {
                //wenn ja seine y-Posi entsprechend verändern
		this._y = this._y + this._ymouse/15;
	}
         //prüfen ob der Balken oberhalb seines "Bereiches" ist
	if (this._y < 35) {
                //wenn ja ihn wieder innerhalb seines "Bereiches" setzen
		this._y = 37;
	}
         //prüfen ob der Balken oberhalb seines "Bereiches" ist
	if (this._y >= 398) {
                //wenn ja ihn wieder innerhalb seines "Bereiches" setzen
		this._y = 394;
	}
}
 

Anhänge

Hallo..
ich danke euch sehr, mit eurer Erklärung bin ich etwas kluger geworden,

die Bedienung ist überhaupt meine erste Bedienung :-),

danke nochmals
Tanja
 
Zurück