Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 01-08-2004, 20:43   #1 (permalink)
Smonk7.de
 
Benutzerbild von Tensio
 
Registriert seit: Apr 2003
Ort: Berlin
Beiträge: 112
Question if und mehrere bedingungen

Hi Folks

Ich hab nen ganz blödes Problem:
ich hab 2 mc's. die ändern per as ihre Position.
wenn die entgültigen Positionen erreicht sind, soll wiederrum ein anderer mc abgespielt werden.

also probierte ich folgendes:

PHP-Code:
if ((_root.q1._x == 40) && (_root.q1._y == 140) && (_root.q2._x == 140) && (_root.q2._y == 140)){
_root.c_aboutme.play();

Das funzt aber nicht. was mach ich falsch?
Ich habe auch schon viel hier im Forum gesucht, aber nicht wirklich was gefunden. Ich hoffe, dass ihr mir weiterhelfen könnt.

Greetz, Tensio
__________________
trace(meinVerstand);
Tensio ist offline   Mit Zitat antworten
Alt 01-08-2004, 21:07   #2 (permalink)
alien
 
Benutzerbild von Smirgel
 
Registriert seit: May 2002
Ort: Colonia
Beiträge: 7.597
nabend.

eigentlich scheint das richtig zu sein
obwohl du die klammer auch weglassen kannst:
ActionScript:
  1. if (_root.q1._x == 40 && _root.q1._y == 140 && _root.q2._x == 140 && _root.q2._y == 140){
  2. _root.c_aboutme.play();
  3. }

allerdings müssten die beiden mc´s mit jeweils x und y zu einem zeitpunkt die positionen erreichen, sonst ist ist die if-bedingung nicht erfüllt.

daher versuch mal mit < oder > die positionen zu vergleichen (je nachdem von wo die mc herkommen).
im zweifelsfall mal die positionsangaben aus-trace-n

grüße.
smirgel
__________________
bei fragen, fragen.

Geändert von Smirgel (01-08-2004 um 21:08 Uhr)
Smirgel ist offline   Mit Zitat antworten
Alt 01-08-2004, 21:22   #3 (permalink)
Herr Brot
 
Benutzerbild von mati
 
Registriert seit: Dec 2002
Beiträge: 1.692
hast du die abfrage schon in nem intervall oder onEnterFrame?

gruß, mati


hi smi
__________________
„Ich war geheilt, all right!“
mati ist offline   Mit Zitat antworten
Alt 01-08-2004, 21:33   #4 (permalink)
Smonk7.de
 
Benutzerbild von Tensio
 
Registriert seit: Apr 2003
Ort: Berlin
Beiträge: 112
Jo die Lösung ist da. Zwar doch mit klammern (ist auchnoch übersichtlicher)
Doch es geht.

PHP-Code:
if (_global.newlink == "aboutme") {
    
onEnterFrame = function () {
        if ((
_root.q1._x == 40) && (_root.q1._y == 140) && (_root.q2._x == 140) && (_root.q2._y == 140)) {
            
_root.maske.gotoAndPlay(1);
            
delete (onEnterFrame);
        } else {
            if (
_root.q1._x<40) {
                
_root.q1._x += 5;
            }
            if (
_root.q1._y<140) {
                
_root.q1._y += 5;
            }
            if (
_root.q2._x<140) {
                
_root.q2._x += 5;
            }
            if (
_root.q2._y<140) {
                
_root.q2._y += 5;
            }
        }
    };

thx a lot
__________________
trace(meinVerstand);
Tensio ist offline   Mit Zitat antworten
Alt 01-08-2004, 21:50   #5 (permalink)
alien
 
Benutzerbild von Smirgel
 
Registriert seit: May 2002
Ort: Colonia
Beiträge: 7.597
jo stimmt ja, die sollen ja an dieser position stehen bleiben...

dann brauchste das aber auch nicht gegenrechnen sondern nur zuweisen:
if (_root.q1._x<40) {
_root.q1._x = 40;
}

nur noch so am rande

p.s. hi mati
__________________
bei fragen, fragen.
Smirgel ist offline   Mit Zitat antworten
Alt 08-08-2004, 16:53   #6 (permalink)
Smonk7.de
 
Benutzerbild von Tensio
 
Registriert seit: Apr 2003
Ort: Berlin
Beiträge: 112
Zitat:
ActionScript:
  1. if (_root.q1._x<40) {
  2. _root.q1._x = 40;
  3. }
Wenn ich das so mach, springt der mc aber einfach an diese Stelle, gell?

Was ich vergaß zu erwähnen ist, dass ich einen Übergang für den MC haben will. Er soll also nicht einfach verschwinden und dann woanders wieder erscheinen.

Mein Gedanke ist folgender:
Ich habe in meinem Film (u.A.) drei Rechtecke (q1,q2,q3).
Bei Klick auf einen Button sollen diese ihre Position verändern.

Button (hier: "about me")
ActionScript:
  1. on(release){
  2. _global.newlink = "aboutme";
  3. _root.maske.gotoAndPlay("ende");
  4. }

Diese Maske blendet dann den noch angezeigten Inhalt aus.
Am Ende der ZL der Maske steht dann:
ActionScript:
  1. this.stop();
  2. if (_global.newlink == "aboutme") {
  3.     _global.q1zx = 110;
  4.     _global.q1zy = 140;
  5.     _global.q2zx = 20;
  6.     _global.q2zy = 140;
  7.     _global.q3zx = -35;
  8.     _global.q3zy = -35;
  9. }


Und damit dann die MCs q1, q2 und q3 verschieben, wenn der alte content nicht mehr sichtbar ist brauch ich halt den Script (wie schon gehabt) in der HZL.
ActionScript:
  1. if (_global.newlink == "aboutme") {
  2.     onEnterFrame = function () {
  3.         if ((_root.q1._x == 40) && (_root.q1._y == 140) && (_root.q2._x == 140) && (_root.q2._y == 140)) {
  4.             _root.maske.gotoAndPlay("anfang");
  5.             delete (onEnterFrame);
  6.         } else {
  7.             if (_root.q1._x<40) {
  8.                 _root.q1._x += 5;
  9.             }
  10.             if (_root.q1._y<140) {
  11.                 _root.q1._y += 5;
  12.             }
  13.             if (_root.q2._x<140) {
  14.                 _root.q2._x += 5;
  15.             }
  16.             if (_root.q2._y<140) {
  17.                 _root.q2._y += 5;
  18.             }
  19.         }
  20.     };
  21. }

Achja ...
ActionScript:
  1. _root.maske.gotoAndPlay("anfang");
soll natürlich bezwecken, dass dann der neue content, also für "about me" sichtbar wird.

Das funktioniert auch alles.
Das Problem ist jetzt aber, dass bei einem Klick auf einen anderen Button nichts mehr passiert. Ursache dafür ist bestimmt das
ActionScript:
  1. delete (onEnterFrame);

Gibt es eine Möglichkeit, bei Klick auf einen anderen Button das
ActionScript:
  1. delete (onEnterFrame);
wieder "rückgängig zu machen" oder so?


Ich weiss jetzt überhaupt nicht, ob mir noch irgendjemand in meinem Gewurschtel folgen kann udn mein Problem versteht?!
__________________
trace(meinVerstand);

Geändert von Tensio (08-08-2004 um 19:21 Uhr)
Tensio ist offline   Mit Zitat antworten
Alt 08-08-2004, 17:21   #7 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg / Stuttgart
Beiträge: 4.338
ich glaube, ich habs ungefähr verstanden...

du kannst die Funktion erstmal zwischenspeichern:

_root.myOnEnterFrameAction = function().....

und dann wenn du sie als onEnterFrame brauchst dem Event zuweisen:

_root.onEnterFrame = _root.myOnEnterFrameAction;

wenn sie unbeliebt ist, wieder löschen:

delete _root.onEnterFrame;

und wenn sie doch wieder gebraucht wird, wieder zuweisen:

_root.onEnterFrame = _root.myOnEnterFrameAction;
Janoscharlipp ist offline   Mit Zitat antworten
Alt 08-08-2004, 17:27   #8 (permalink)
Smonk7.de
 
Benutzerbild von Tensio
 
Registriert seit: Apr 2003
Ort: Berlin
Beiträge: 112
ach das klingt doch schonmal gut!

Ich mach jetzt erstma mit nen paar freunden zu McDonnald's.
Wenn ich dann nachher wiederkomme, werd' ich das gleich mal ausprobieren.

thx im vorraus

tensio
__________________
trace(meinVerstand);
Tensio ist offline   Mit Zitat antworten
Alt 08-08-2004, 19:57   #9 (permalink)
Smonk7.de
 
Benutzerbild von Tensio
 
Registriert seit: Apr 2003
Ort: Berlin
Beiträge: 112
@Janoscharlipp

Jo das funktioniert super!

Pah wunderbar

Bigges Danke!
__________________
trace(meinVerstand);

Geändert von Tensio (08-08-2004 um 20:08 Uhr)
Tensio ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 15:43 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele