Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23-11-2005, 08:17   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 8
MC-Abfrage

Hallo!

Ich bräuchte ein Actionscript, das eine Aktion nur dann ausführt, wenn der entsprechende MC nicht im Vordergrund steht. Kann mir da jemand weiterhelfen? Ich dachte vielleicht an eine If-Abfrage, weiß aber nicht, wie ich die Bedingung formulieren muss.

Vielen Dank im Voraus! Gruß, Olli
Nocomment ist offline   Mit Zitat antworten
Alt 23-11-2005, 08:31   #2 (permalink)
Pending…
 
Benutzerbild von psyk
 
Registriert seit: Jul 2002
Ort: Hamburg
Beiträge: 3.866
Meinst du sowas in der Art.
PHP-Code:
if(mein_mc.getDepth()<mein_mc.getNextHighestDepth())
{
    
mein_mc.swapDepths(mein_mc.getNextHighestDepth());

__________________
:: Warum einfach, wenn's auch kompliziert geht! ::
psyk ist offline   Mit Zitat antworten
Alt 23-11-2005, 09:12   #3 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 8
Ja so ähnlich. Deine Abfrage trifft aber immer zu, da es immer eine höhere Tiefe gibt.

Daher führt sie die Funktion immer aus, ob der MC nun im Vordergrund ist, oder nicht.

Um die höchste verfügbare Tiefe zu ermitteln müsste man meines Erachtens nach die Abfrage so formulieren:

PHP-Code:
on (rollOut) {
    if(
this.getDepth() < _root.getNetxHighestDepth() - 1) {
        
this.gotoAndStop("1")
}} 
klappt aber nid Dann gehts nimmer!
Nocomment ist offline   Mit Zitat antworten
Alt 23-11-2005, 12:38   #4 (permalink)
no guts no glory
 
Benutzerbild von readme.txt
 
Registriert seit: May 2004
Ort: Nordhorn
Beiträge: 7.998
Die ganze if-Abfrage ist sinnlos ... _root.getNextHighestDepth(); gibt dir immer die nächst höhere Tiefenebene ...

wenn du einen MC auf Depth 1000, einen auf 2000 und einen auf 3000 hast wird _root.getNextHighestDepth() dir immer 3001 ausgeben.

Darum trifft deine if-Schleife immer zu und ist damit überflüssig (mal abgesehen von dem -1 das aber völlig sinnlos ist wenn du die höchste Ebene willst).


Aber das dein Script konkret nicht geht könnte an dem Schreibfehler liegen:

_root.getNetxHighestDepth() - 1
__________________
Bitte keine Privaten Nachrichten mit Fragen, dazu ist das Forum selbst da. Danke.

'We live in an amazing, amazing world, and it's wasted on the crappiest generation of spoiled idiots.'
readme.txt ist offline   Mit Zitat antworten
Alt 23-11-2005, 12:59   #5 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 8
Zitat:
Zitat von readme.txt
Die ganze if-Abfrage ist sinnlos ... _root.getNextHighestDepth(); gibt dir immer die nächst höhere Tiefenebene ...

wenn du einen MC auf Depth 1000, einen auf 2000 und einen auf 3000 hast wird _root.getNextHighestDepth() dir immer 3001 ausgeben.

Darum trifft deine if-Schleife immer zu und ist damit überflüssig (mal abgesehen von dem -1 das aber völlig sinnlos ist wenn du die höchste Ebene willst).
Will ich ja gar nicht. Ich will eine Funktion ausführen, aber nur dann, wenn der MC der vorderste ist - siehe erster Post.

Zitat:
Aber das dein Script konkret nicht geht könnte an dem Schreibfehler liegen:

_root.getNetxHighestDepth() - 1
SCHOCK
Sowas dummes. Leider hat's danach noch immer nicht geklappt. Nun trifft die If-Abfrage wieder jedesmal zu

Zur Erklärung: Ich will Karteikartenreiter haben, jedes ein MC, alle hintereinandergelegt. Die Karteikartenreiter sollen die Farbe wechseln, wenn ich drüberfahre - aber NUR, wenn sie hinten sind, das vordere soll die Farbe beibehalten. Den Farbwechsel führe ich durch einen zweiten Videoframe im MC durch. Also:

Wenn MC nicht vorne - springe zu MC Frame 2.

So in etwa war der Plan. Ich hab mittlerweile einen (umständlicheren) Weg gefunden, das Problem zu umgehen, aber interessieren würd's mich trotzdem, warum es so nicht klappt...
Nocomment ist offline   Mit Zitat antworten
Alt 23-11-2005, 14:10   #6 (permalink)
no guts no glory
 
Benutzerbild von readme.txt
 
Registriert seit: May 2004
Ort: Nordhorn
Beiträge: 7.998
Ok ... mir is gerade wieder was eingefallen ... auf der Bühne von Hand erstellte MCs (also MCs die von Hand und nicht mit ActionScript platziert wurden) haben negative Tiefenebenen.

Das gibt Probleme mit getNextHighestDepth() weil das erst ab 0 zu zählen beginnt.

Wenn du den MCs per Script eine positive Ebene zuweist klappt auch dein Script von oben.

Ich habs mal in eine kleine .fla gepackt.
Angehängte Dateien
Dateityp: rar ebenen.rar (4,9 KB, 5x aufgerufen)
__________________
Bitte keine Privaten Nachrichten mit Fragen, dazu ist das Forum selbst da. Danke.

'We live in an amazing, amazing world, and it's wasted on the crappiest generation of spoiled idiots.'
readme.txt ist offline   Mit Zitat antworten
Alt 23-11-2005, 14:22   #7 (permalink)
Linksaußen
 
Benutzerbild von Fralle
 
Registriert seit: Jun 2003
Ort: Essen
Beiträge: 552
Wieso gibst Du den MC's nicht am Anfang mal feste Depth-Werte (z.b 1-10)?
Sobald einer nach vorne geholt wird, bekommt der eben die 10, dann weißt Du, daß der vorderste immer die Tiefe 10 hat und kannst gezielt die abfragen.
__________________
Der Ball ist rund
Fralle ist offline   Mit Zitat antworten
Alt 23-11-2005, 14:23   #8 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 8
Das ist es!!!

Mein Flash-König

Danke!
Nocomment 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 20:09 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele